Script de uso de GPU en tiempo de inactividad

Para evitar el espacio de GPU a largo plazo al realizar un aprendizaje profundo, escribí un programa de detección de GPU en bash.

Lo principal es nvidia-smiobtener el uso de la GPU en el nodo actual a través de la API. Si la memoria libre es menor que la memoria mínima requerida, esperará para siempre, y si es mayor que la memoria mínima requerida, el archivo code.shse ser ejecutado.

#!/bin/bash

# use 'nvidia-smi' API to get used memory
memory=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 0`
memory=${memory: 0: -3}


memory_1=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 1`
memory_1=${memory_1: 0: -3}

echo ${memory_1}

# set model size
min_size=10000

while ((memory<min_size||memory_1<min_size))
do
    memory=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 0`
    memory=${memory: 0: -3}
    echo "Out of Memory, Wait to Execute..."
    sleep 3
done

# Execute code
echo $(bash code.sh)

Supongo que te gusta

Origin blog.csdn.net/Huang_Fj/article/details/123846713
Recomendado
Clasificación