GROMACS

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Sommaire

Description

GROMACS est une application de dynamique moléculaire conçue pour la simulation de macromolécules biologiques et très populaire auprès des bio-informaticiens. GROMACS offre des performances élevées sur les architectures x86, x86-64 et ia64 grâce à ses routines optimisées codées en assembleur et à l’utilisation des jeux d’instructions SSE, SSE2, 3DNow! et Altivec.

Exemples de script de soumission

Les exemples suivants utilisent GROMACS sur Colosse, compilé en simple précision (option par défaut), avec les compilateurs GCC et Intel.


Fichier : soumet-gromacs-gcc.sh
#!/bin/bash
#PBS -S /bin/bash
#PBS -l nodes=8:ppn=8
#PBS -l walltime=24:00:00 [...] 
 
module load compilers/gcc/4.4.2 mpi/openmpi/1.4.3_gcc misc-libs/fftw/3.2.2_gcc_r1 apps/gromacs/4.5.4_gcc
 
mpirun mdrun_mpi



Fichier : soumet-gromacs-intel.sh
#!/bin/bash
#PBS -S /bin/bash
#PBS -l nodes=8:ppn=8
#PBS -l walltime=24:00:00 [...] 
 
module load compilers/intel/11.1.059 mpi/openmpi/1.4.3_intel blas-libs/mkl/10.2.2.025 apps/gromacs/4.5.4_intel
 
mpirun mdrun_mpi


En plus du programme parallèle mdrun_mpi, les utilitaires GROMACS standards (version non parallèle) sont inclus dans les modules sur Colosse. Vous pouvez donc, par exemple, compiler vos directives avec grompp lors de la préparation de vos expériences.


Performances

Les performances obtenues avec GROMACS 4.5.4 sur Colosse sont montrées dans les graphiques suivants. Le banc d’essai de GROMACS GMXBench 3.0 a été utilisé. Trois systèmes ont été testés :

  • DPPC, un système de phospholipides;
  • LZM, le lyzozyme du blanc d’œuf de poule;
  • Poly-CH2, un polymère de carbone.
Gmx-perf-fr.png
Gmx-eff-fr.png

Pour tous les systèmes testés ici, l’exécutable GCC offre de meilleurs résultats. L’exécutable Intel a toutefois un avantage dans les tâches sérielles. Pour vos expériences, nous vous invitons à tester chacun de vos systèmes avec les deux versions et différents nombres de processus afin d’optimiser votre utilisation des ressources.

Les performances de GROMACS (et des autres implémentations des techniques de mécanique moléculaire) dépendent en partie des routines réalisant les transformées de Fourier lors du calcul des interactions non liées entre les atomes. Plusieurs bibliothèques FFT (« Fast Fourier Transform ») optimisées pour le calcul de haute performance sont disponibles sur les serveurs de Calcul Québec. Pour plus de détails, référez-vous aux modules installés sur chacun des serveurs de Calcul Québec.


Usage sur Briarée

Sur la grappe Briarée de l'Université de Montréal on a trouvé que GROMACS 5.0 montre une meilleure performance lorsqu'on l'utilise avec l'HyperThreading, en exploitant donc tous les 24 cœurs logiques d'un nœud de calcul de Briarée. Pour utiliser ces cœurs logiques vous n'avez pas besoin de modifier votre script : on demande 12 cœurs par nœud et lance GROMACS normalement avec 12 processus MPI. Les processus MPI de GROMACS créera deux fils d'exécution OpenMP pour utiliser les deux cœurs logiques associés avec chaque cœur physique aux moments où il y a assez de calcul. Vous êtes libre de désactiver cet usage d'hyperthreading en donnant la variable d'environnement OMP_NUM_THREADS la valeur 1 avant de lancer GROMACS. On a aussi constaté une nette amélioration de la performance en s'assurant que les processus MPI sont fixes à un cœur (pinned), en choisissant l'option "-pin on" avec GROMACS.

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager