Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
formation:insa2018gpu:insa2018gromacs4stretch [2018/11/26 17:09]
equemene créée
formation:insa2018gpu:insa2018gromacs4stretch [2019/06/05 13:36] (Version actuelle)
equemene [Compilation du programme dans l'environnement du CBP]
Ligne 1: Ligne 1:
 +====== Compilation et exécution du programme Gromacs en mode GPU ======
 +
 +[[formation:​insa2018gpu|Retour aux travaux pratiques]]
 +
 +===== Compilation du programme dans l'​environnement du CBP =====
 +
 La recette pour compiler Gromacs ​ avec un support GPU sur du Debian Stretch 9.0 est la suivante : La recette pour compiler Gromacs ​ avec un support GPU sur du Debian Stretch 9.0 est la suivante :
 +  - Définition de la variable TIME pour la métrologie : <​code>​export TIME=$(cat '/​etc/​time_command.cfg'​)</​code>​
   - Création du dossier utilisateur :<​code>​mkdir /​local/​$USER</​code>​   - Création du dossier utilisateur :<​code>​mkdir /​local/​$USER</​code>​
   - Placement dans le dossier créé :<​code>​cd /​local/​$USER</​code>​   - Placement dans le dossier créé :<​code>​cd /​local/​$USER</​code>​
Ligne 13: Ligne 20:
   - Compilation du programme en mode parallèle : <​code>​make -j 16 > GMX-Compile-$(date "​+%Y%m%d-%H%M"​) 2>&​1</​code>​   - Compilation du programme en mode parallèle : <​code>​make -j 16 > GMX-Compile-$(date "​+%Y%m%d-%H%M"​) 2>&​1</​code>​
   - Exécution des tests : <​code>​make check > GMX-Check-$(date "​+%Y%m%d-%H%M"​) 2>&1 </​code>​   - Exécution des tests : <​code>​make check > GMX-Check-$(date "​+%Y%m%d-%H%M"​) 2>&1 </​code>​
-  - Installation du programme et ses dépendances : <​code>​make ​check > GMX-Install-$(date "​+%Y%m%d-%H%M"​) 2>&​1</​code>​+  - Installation du programme et ses dépendances : <​code>​make ​install ​> GMX-Install-$(date "​+%Y%m%d-%H%M"​) ​2>&​1</​code>​ 
 + 
 +===== Exécution de l'​exemple exploité par Nvidia dans l'​environnement du CBP ===== 
 + 
 +  - Création du dossier de tests à la date du jour : <​code>​mkdir -p /​local/​$USER/​tests-$(date "​+%Y%m%d"​)</​code>​ 
 +  - Placement dans le dossier créé : <​code>​cd /​local/​$USER/​tests-$(date "​+%Y%m%d"​)</​code>​ 
 +  - Récupération des entrées Gromacs pour le test :<​code>​wget ftp://​ftp.gromacs.org/​pub/​benchmarks/​water_GMX50_bare.tar.gz</​code>​ 
 +  - Expansion de l'​archive récupérée : <​code>​tar xzf water_GMX50_bare.tar.gz</​code>​ 
 +  - Passage dans le dossier de paramètres : <​code>​cd water-cut1.0_GMX50_bare/​1536</​code>​ 
 +  - Paramétrage de l'​environnement : <​code>​source $GMXINSTALL/​bin/​GMXRC</​code>​ 
 +  - Lancement de l'​exemple sur GPU : 
 +    - Initialisation de GROMACS : <​code>​$GMXINSTALL/​bin/​gmx grompp -f pme.mdp</​code>​ 
 +    - Lancement du calcul sur GPU : <​code>/​usr/​bin/​time $GMXINSTALL/​bin/​gmx mdrun -resethway -noconfout -nsteps 4000 -v -gpu_id 0 >$(echo $PWD | tr '/'​ '​_'​)_$(date "​+%Y%m%d-%H%M"​).out 2>&​1</​code>​ 
 +  - Lancement du code sur CPU : 
 +    - Effacement des fichiers créés par la simulation sur GPU :<​code>​find . -mtime -1 | grep -v $(echo $PWD | tr "/"​ "​_"​) | grep '/'​ | xargs -I '​{}'​ rm '​{}'</​code>​ 
 +    - Initialisation de GROMACS : <​code>​$GMXINSTALL/​bin/​gmx grompp -f pme.mdp</​code>​ 
 +    - Lancement du calcul sur GPU : <​code>/​usr/​bin/​time $GMXINSTALL/​bin/​gmx mdrun -resethway -noconfout -nsteps 4000 -v -nb cpu >$(echo $PWD | tr '/'​ '​_'​)_$(date "​+%Y%m%d-%H%M"​).out ​2>&​1</​code>​
  
 +Les deux fichiers de sortie en ''​*.out''​ donnent les informations sur les exécutions et la métrologie associée. Un ''​grep''​ sur le mot ''​Elapsed''​ extrait les temps d'​exécution sur GPU et CPU.
  
formation/insa2018gpu/insa2018gromacs4stretch.1543248573.txt.gz · Dernière modification: 2018/11/26 17:09 par equemene