Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
formation:insa2020gpu:insa2020gromacs4buster [2020/12/06 11:46] equemene [Compilation du programme dans l'environnement du CBP] |
formation:insa2020gpu:insa2020gromacs4buster [2020/12/06 13:40] (Version actuelle) equemene [Exécution de l'exemple exploité par Nvidia dans l'environnement du CBP] |
||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
- Définition d'une variable d'environnement pour ce dossier :<code>export GMXINSTALL=$PWD/gromacs-2019.3_install</code> | - Définition d'une variable d'environnement pour ce dossier :<code>export GMXINSTALL=$PWD/gromacs-2019.3_install</code> | ||
- Déplacement dans le dossier de construction : <code>cd $GMXBUILD</code> | - Déplacement dans le dossier de construction : <code>cd $GMXBUILD</code> | ||
- | - Construction des tâches de compilation : <code>CC=gcc-7 CXX=g++-7 CPP=cpp-7 cmake $GMXSRC -DGMX_OPENMP=ON -DGMX_GPU=ON -DGMX_BUILD_OWN_FFTW=ON -DGMX_PREFER_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$GMXINSTALL</code> | + | - Définition des outils des compilation : <code>export CC=/usr/bin/gcc-7 |
+ | export CXX=/usr/bin/g++-7 | ||
+ | export CPP=/usr/bin/cpp-7</code> | ||
+ | - Construction des tâches de compilation : <code>cmake $GMXSRC -DGMX_OPENMP=ON -DGMX_GPU=ON -DGMX_BUILD_OWN_FFTW=ON -DGMX_MPI=on -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$GMXINSTALL</code> | ||
- 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> | ||
Ligne 32: | Ligne 35: | ||
- Lancement de l'exemple sur GPU : | - Lancement de l'exemple sur GPU : | ||
- Initialisation de GROMACS : <code>$GMXINSTALL/bin/gmx-mpi grompp -f pme.mdp</code> | - Initialisation de GROMACS : <code>$GMXINSTALL/bin/gmx-mpi grompp -f pme.mdp</code> | ||
- | - Lancement du calcul sur GPU : <code>/usr/bin/time $GMXINSTALL/bin/gmx-mpi mdrun -resethway -noconfout -nsteps 4000 -v -gpu_id 0 >$(echo $PWD | tr '/' '_')_$(date "+%Y%m%d-%H%M").out 2>&1</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 : | - 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> | - 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-mpi grompp -f pme.mdp</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-mpi mdrun -resethway -noconfout -nsteps 4000 -v -nb cpu >$(echo $PWD | tr '/' '_')_$(date "+%Y%m%d-%H%M").out 2>&1</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. | 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. | ||