#!/bin/bash #SBATCH -p tydexclu01 #SBATCH -N 16 #SBATCH --cpus-per-task=1 #SBATCH --ntasks-per-node=32 #SBATCH --mem 0 #SBATCH --gres=dcu:4 #SBATCH -J gpt2 #SBATCH -o logs/gpt2-16B-%j.out #SBATCH -e logs/gpt2-16B-%j.out ulimit -u 200000 export NCCL_IB_HCA=mlx5 export NCCL_SOCKET_IFNAME=ib0 export HSA_FORCE_FINE_GRAIN_PCIE=1 export OMP_NUM_THREADS=1 echo "START TIME: $(date)" rm -f ./hostfile/* rm -f core.* hostfile=./hostfile/$SLURM_JOB_ID scontrol show hostnames $SLURM_JOB_NODELIST > ${hostfile} for i in `cat $hostfile` do echo ${i} slots=4 >> `pwd`/hostfile/hostfile-dl-$SLURM_JOB_ID done np=$(cat $hostfile|sort|uniq |wc -l) np=$(($np*4)) nodename=$(cat $hostfile |sed -n "1p") dist_url=`echo $nodename | awk '{print $1}'` mpirun -np $np --allow-run-as-root --hostfile hostfile/hostfile-dl-$SLURM_JOB_ID --bind-to none `pwd`/single-16B.sh $dist_url