IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Création tableau variable


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Novembre 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 1
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Bonjour,

    les tableaux bash n'ont pas besoin d'être créés avec un nombre prédéfini de cellules.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Just Do It. Juste fais-le.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_beau_tableau_de_temperatures[$x]=$( nvidia-smi -i $x |awk -v ligne=10 ' NR == ligne {sub(".$","",$3);print $3;}' )
    Note le regroupement des 2 awks disgracieux.

    Exemple d'écriture et de lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ for ((x=0;x<8;x++));do mon_beau_tableau_de_temperatures[$x]=$((111*$x)); done; echo "${mon_beau_tableau_de_temperatures[6]}"
    666

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Pourquoi ne pas utiliser l'option -d de la commande nvidia-smi ?
    -d TYPE, --display=TYPE
    Display only selected information: MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER, CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT, ACCOUNTING, ENCODER_STATS, ROW_REMAPPER. Flags
    can be combined with comma e.g. "MEMORY,ECC". Sampling data with max, min and avg is also returned for POWER, UTILIZATION and CLOCK display types. Doesn't work with -u/--unit or -x/--xml-format
    flags.

Discussions similaires

  1. [Vba Access] Création tableau a longeur variable
    Par 57Steph dans le forum VBA Access
    Réponses: 4
    Dernier message: 06/09/2007, 08h34
  2. [FLASH MX] Nom de tableau variable
    Par totoche dans le forum Flash
    Réponses: 1
    Dernier message: 25/11/2005, 16h21
  3. Création de variable
    Par Sephiroth Lune dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/11/2005, 14h20
  4. Tableau + variable de session
    Par Pymm dans le forum ASP
    Réponses: 6
    Dernier message: 13/10/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo