Muennighoff's picture
Update 1 rep oscar
7cfb0c0
#!/bin/bash
# Launch script using torch.distributed.run(). Used by slurm
# scripts, don't invoke directly.
# Samuel's fix for apparent error in SLURM initialization
if [ $SLURM_LOCALID -eq 0 ]; then
rm -rf /dev/shm/*
rocm-smi || true
else
sleep 2
fi
export NCCL_SOCKET_IFNAME=hsn0,hsn1,hsn2,hsn3
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export FI_CXI_DEFAULT_CQ_SIZE=131072
# debugging (noisy)
#export NCCL_DEBUG=INFO
#export RCCL_KERNEL_COLL_TRACE_ENABLE=1
#export NCCL_DEBUG_SUBSYS=INIT,COLL
module --quiet purge
module load cray-python
module load CrayEnv
module load PrgEnv-cray/8.3.3
module load craype-accel-amd-gfx90a
module load cray-python
module use /pfs/lustrep2/projappl/project_462000125/samantao-public/mymodules
module load suse-repo-deps/sam-default
module load rocm/sam-5.2.3.lua
module load rccl/sam-develop.lua
module load aws-ofi-rccl/sam-default.lua
source venv/bin/activate
MASTER_NODE=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1)
MASTER_PORT=9999
echo "Launching on $SLURMD_NODENAME ($SLURM_PROCID/$SLURM_JOB_NUM_NODES)," \
"master $MASTER_NODE port $MASTER_PORT," \
"GPUs $SLURM_GPUS_ON_NODE," \
"CUDA: $(python -c 'import torch; print(torch.cuda.is_available())')"
python -u -m torch.distributed.run \
--nnodes $SLURM_JOB_NUM_NODES \
--nproc_per_node $SLURM_GPUS_ON_NODE \
--node_rank=$SLURM_PROCID \
--master_addr $MASTER_NODE \
--master_port $MASTER_PORT \
"$@"