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 | ||
logiciels:gromacs [2019/01/28 11:18] fabrep03 [Sélection de la version] |
logiciels:gromacs [2019/01/28 11:27] (Version actuelle) fabrep03 [Performance] |
||
---|---|---|---|
Ligne 32: | Ligne 32: | ||
===== Performance ===== | ===== Performance ===== | ||
- | Les benchmarks suivants ont été réalisés sur une simulation de DHFR (une petite protéine), qui est couramment utilisée pour des benchmarks. Le système contient environ 23000 atomes. | + | La dernière version |
- | Il est possible de paralléliser de deux manières différentes : | + | |
- | * avec MPI, qui est performant pour partager un job au sein d'un ou plusieurs noeuds | + | |
- | * avec openMP, qui peut être performant pour partager des coeurs au sein d'un processus MPI sur un même noeud. | + | |
- | Voici un tableau des performances relevées avec Gromacs 5.0.2 compilé avec les compilateurs intel : | + | |
- | nb_coeurs | + | J'ai effectué de nombreux benchmarks et on en tire des enseignements intéressants. Le mieux est de consulter la présentation |
- | 2 | + | |
- | 4 | + | |
- | 8 | + | |
- | | + | |
- | | + | |
- | | + | |
- | 128 | + | |
- | 256 | + | |
- | 256 | + | |
- | 8 | + | |
- | 8 | + | |
- | | + | |
- | | + | |
- | + | ||
- | Ne sont présentées ici que les configurations les plus rapides. En effet, sur CPU uniquement, openMP n'est efficace que pour des gros systèmes sur un grand nombre de coeurs. Avec moins de 256 coeurs, on constate une dégradation de performance quel que soit le nombre de threads openMP par processus MPI. | + | |
- | Avec des GPU, c'est différent. Il faut utiliser au moins un processus thread-MPI par GPU. Ensuite, on ajuste le nombre de threads openMP pour obtenir le nombre de coeurs voulu. En pratique, utiliser plus d'un thread-MPI par GPU dégrade la performance. | + | {{: |
- | On constate qu' | ||
===== Exemples de fichiers batch slurm ===== | ===== Exemples de fichiers batch slurm ===== | ||
==== Sur CPU ==== | ==== Sur CPU ==== |