Création tableau variable
Bonjour,
J'essaye de récupérer la température de carte graphique afin de modifier la vitesse de mes ventilos suivant la température des GPU
Voici mon code pour le moment
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#!/bin/bash
sudo ipmitool mc info
#Number of GPU
declare -i NbGPU=$(nvidia-smi -L |grep -c 'GPU')
echo "NbGPU=$NbGPU"
while [ true ]; do
for ((x=0;x<$NbGPU;x++))
do
echo "GPU ID=$x"
#Information about GPU
nvidia-smi -i $x
echo
declare -i TempGPU=$(nvidia-smi -i $x |awk -v ligne=10 ' NR == ligne {print $3}' |awk 'sub(".$","")')
echo "Temp GPU $x = $TempGPU"
if [ $TempGPU -ge 40 ] && [ $TempGPU -lt 55 ]; then
echo "sup 40 and inf 55"
sudo ipmitool raw 0x30 0x27 0x00 0x28
sudo ipmitool raw 0x30 0x27 0x01 0x28
sudo ipmitool sensor list all |grep FAN
elif [ $TempGPU -ge 55 ] && [ $TempGPU -lt 70 ]; then
echo "sup 55 and inf 70"
sudo ipmitool raw 0x30 0x27 0x00 0x3C
sudo ipmitool raw 0x30 0x27 0x01 0x3C
sudo ipmitool sensor list all |grep FAN
elif [ $TempGPU -ge 70 ]; then
echo "sup 70"
sudo ipmitool raw 0x30 0x27 0x00 0x40
sudo ipmitool raw 0x30 0x27 0x01 0x40
sudo ipmitool sensor list all |grep FAN
else
echo "less than 40"
sudo ipmitool raw 0x30 0x25
sudo ipmitool sensor list all |grep FAN
fi
sleep 5s
done
done |
J'aimerais pouvoir créer un tableau avec autant de cellule que de nombre de GPU dans lesquelles je peux mettre les températures de chaque GPU. J'aimerai ensuite pouvoir récupérer la plus grande température et ajuster la vitesse des ventilos par rapport à cette température
Le problème est que je ne sais pas comment je peux créer un tableau avec NbGPU cellule
Si vous avez une info à me donner pour réaliser ça ou une solution plus simple je suis preneur ^^
Merci