Doven
update code.
f7009b3
raw
history blame
748 Bytes
#!/bin/bash
# set variable
gpu_ids="$2"
exec_file="$1"
# count gpus
IFS=',' read -r -a gpus <<< "$gpu_ids"
num_gpus=${#gpus[@]}
# find a usable port
find_open_port() {
local port
while true; do
port=$(( (RANDOM % 32768) + 32767 ))
if ! (echo >/dev/tcp/localhost/$port) &>/dev/null; then
break
fi
done
echo $port
}
main_process_port=$(find_open_port)
echo "Using main_process_port=$main_process_port"
# construct command
command="accelerate launch --main_process_port=$main_process_port --num_processes=$num_gpus --gpu_ids=$gpu_ids"
command+=" --num_machines=1 --mixed_precision=bf16 --dynamo_backend=no"
if [ $num_gpus -ge 2 ]; then
command+=" --multi_gpu"
fi
command+=" $exec_file"
# execute command
eval $command