diff --git a/scripts/init.sh b/scripts/init.sh index 043db73502db3ddcfcb8f312554d851c3708c3e6..fe99cb059f431554cd6ccea15752c739425a630f 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -30,10 +30,10 @@ then fi source ${VENV_DIR}/${VENV_NAME}/bin/activate -# Make all GPUs visible +# Select least used GPU if any are available if command -v nvidia-smi &> /dev/null then - export CUDA_VISIBLE_DEVICES=$(nvidia-smi --query-gpu=index --format=csv,noheader | tr '\n' ',') + export CUDA_VISIBLE_DEVICES=$(nvidia-smi --query-gpu=memory.used,utilization.gpu,utilization.gpu,index --format=csv,noheader,nounits | sort -V | awk '{print $NF}' | head -n1) echo CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES} fi