Translations:GROMACS/35/fr

From Alliance Doc
Jump to navigation Jump to search
  • warning Les versions 2020.0 jusqu'à 2021.5 inclusivement contiennent un bogue quand elles sont utilisées avec des GPU de génération Volta ou plus récentes (V100, T4 et A100) avec l'option -update gpu de mdrun qui aurait pu perturber le calcul viriel et ainsi fausser le raccord de pression. Dans les notes de mise à jour de la version 2021.6 on peut lire :[1]

    [traduction libre] La mise à jour n'est pas activée par défaut sur le GPU et donc l'erreur ne peut se produire que dans les simulations où l'option -update gpu a été explicitement sélectionnée; même dans ce cas, l'erreur peut être rare car nous ne l'avons pas observée en pratique dans les tests que nous avons effectués.

    Vous trouverez plus d'information dans GitLab, au sujet #4393 du projet GROMACS.[2]
  • Les nœuds GPU sont configurés différemment sur nos grappes.
  • Cedar offre 4 GPU et 24 cœurs CPU par nœud
  • Graham offre 2 GPU et 32 cœurs CPU par nœud.
Les paramètres sont différents si vous voulez utiliser tous les GPU et cœurs CPU d'un nœud.
  • Cedar : --gres=gpu:p100:4 --ntasks-per-node=4 --cpus-per-task=6
  • Graham : --gres=gpu:p100:2 --ntasks-per-node=4 --cpus-per-task=8
Bien entendu, le système simulé doit être assez grand pour utiliser toutes les ressources.
  • GROMACS impose certaines contraintes dans le choix du nombre de GPU, de tâches (rang MPI) et de fils OpenMP.

Pour la version 2018.2, les contraintes sont :

  • --tasks-per-node doit être un multiple du nombre de GPU (--gres=gpu:)
  • GROMACS fonctionne avec un seul fil OpenMP seulement si l'option -ntomp est utilisée.
    Le nombre optimal de --cpus-per-task se situe entre 2 et 6, selon les développeurs.
  • Évitez d'utiliser une fraction de CPU et de mémoire plus grande que la fraction de GPU que vous demandez dans un nœud.
  • Même si selon les développeurs de l'ordonnanceur Slurm il est préférable de démarrer les tâches MPI avec srun plutôt qu'avec mpiexec/mpirun, certaines tâches n'arrivent pas à démarrer quand deux tâches utilisent srun sur le même nœud de calcul.
    Dans ces cas, nous recommandons donc d'utiliser mpiexec, surtout lorsque seuls des nœuds partiels sont utilisés.
  1. "Fix missing synchronization in CUDA update kernels" in GROMACS 2021.6 Release Notes [1]
  2. Issue #4393 in GROMACS Project on GitLab.com [2]