#!/bin/bash source env.sh GPUS=$1 string="" for ((i=0; i<$GPUS; i++)); do string="$string$i," done string=${string%","} export HIP_VISIBLE_DEVICES=$string # echo "$HIP_VISIBLE_DEVICES" APP="python3 ../src/train_bash.py --stage sft \ --model_name_or_path ../../baichuan-13b-base/ \ --do_train \ --template default \ --dataset alpaca_gpt4_en,alpaca_gpt4_zh,self_cognition,oaast_sft,lima \ --finetuning_type full \ --output_dir output/baichuan-13b \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 1 \ --preprocessing_num_workers 16 \ --lr_scheduler_type cosine \ --logging_steps 10 \ --save_steps 2000 \ --learning_rate 1e-4 \ --num_train_epochs 1.0 \ --plot_loss \ --fp16 \ --deepspeed deepspeed.json " local_rank=$OMPI_COMM_WORLD_LOCAL_RANK case ${local_rank} in [0]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=0 --membind=0 ${APP} numactl --cpunodebind=0 --membind=0 ${APP} ;; [1]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=0 --membind=0 ${APP} numactl --cpunodebind=0 --membind=0 ${APP} ;; [2]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=0 --membind=0 ${APP} numactl --cpunodebind=0 --membind=0 ${APP} ;; [3]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=0 --membind=0 ${APP} numactl --cpunodebind=0 --membind=0 ${APP} ;; [4]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=3 --membind=3 ${APP} numactl --cpunodebind=3 --membind=3 ${APP} ;; [5]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=3 --membind=3 ${APP} numactl --cpunodebind=3 --membind=3 ${APP} ;; [6]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=3 --membind=3 ${APP} numactl --cpunodebind=3 --membind=3 ${APP} ;; [7]) export HIP_VISIBLE_DEVICES=$string echo numactl --cpunodebind=3 --membind=3 ${APP} numactl --cpunodebind=3 --membind=3 ${APP} ;; esac