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 Les deux révisions suivantes | ||
formation:insa2020gpu [2020/12/04 16:04] equemene [Intégration et exploitation du code GENESIS] |
formation:insa2020gpu [2020/12/05 23:25] equemene |
||
---|---|---|---|
Ligne 1447: | Ligne 1447: | ||
* Comparez les résultats | * Comparez les résultats | ||
* Qu'apporte le GPU comme gain de performance par rapport au processeur ? | * Qu'apporte le GPU comme gain de performance par rapport au processeur ? | ||
- | </note> | ||
- | |||
- | ==== Intégration et exploitation du code Gromacs ==== | ||
- | |||
- | Nous allons tenter de reproduire une [[https://www.nvidia.com/en-us/data-center/gpu-accelerated-applications/gromacs/|expérience de Nvidia]] vantant l'efficacité des GPGPU pour le logiciel de [[https://fr.wikipedia.org/wiki/Dynamique_mol%C3%A9culaire|dynamique moléculaire]] [[http://www.gromacs.org/|Gromacs]]. | ||
- | |||
- | <note warning>Exercice #27 : appliquez la "recette" de Nvidia | ||
- | * La documentation offre ceci : | ||
- | - récupérez le source | ||
- | - étendez l'archive | ||
- | - créez un dossier pour la construction | ||
- | - passez dans ce dossier | ||
- | - préparez la compilation | ||
- | - compilez le code | ||
- | - installez les exécutables | ||
- | * A quelle étape est-ce que cela bloque ? Quel message avez-vous ? | ||
- | * Trouvez une méthode permettant de régler ce problème. | ||
- | </note> | ||
- | |||
- | En cas de difficultés, appliquez la [[formation:insa2018gpu:insa2018gromacs4stretch|recette de Gromacs pour Debian Stretch]] ;-) | ||
- | |||
- | <note warning>Exercice #28 : Exécutez l'exemple ''1536'' | ||
- | * Quel ''Elapsed Time'' avez-vous pour l'exécution sur GPU (et CPU) ? | ||
- | * Quel ''Elapsed Time'' avez-vous pour l'exécution uniquement sur CPU ? | ||
- | * Quel ratio de performances existe entre les deux exécutions ? | ||
</note> | </note> | ||
Ligne 1481: | Ligne 1456: | ||
Le code source est accessible à l'adresse : https://www.r-ccs.riken.jp/labs/cbrt/download/genesis-version-1-5/ | Le code source est accessible à l'adresse : https://www.r-ccs.riken.jp/labs/cbrt/download/genesis-version-1-5/ | ||
- | <note warning>Exercice #29 : Récupérez et compilez le code suivant la documentation fournie | + | <note warning>Exercice #27 : Récupérez et compilez le code suivant la documentation fournie |
* Lisez la [[https://www.r-ccs.riken.jp/labs/cbrt/installation/|documentation]] d'installation | * Lisez la [[https://www.r-ccs.riken.jp/labs/cbrt/installation/|documentation]] d'installation | ||
* Placez les sources dans le dossier ''/local/$USER/GENESIS'' créé pour l'occasion | * Placez les sources dans le dossier ''/local/$USER/GENESIS'' créé pour l'occasion | ||
Ligne 1500: | Ligne 1475: | ||
Pour finir, dans comme ce programme est "aussi" //gépufié// (porté sur GPU), il risque d'y avoir un goulet d'étranglement pour l'accès au GPU pour les 64 tâches simultanées. Ainsi, les programmes "fortement" parallélisés exigent de choisir judicieusement les différents paramètres de parallélisation tout comme nous avons vue que, pour les GPU, il fallait découper la tâche en un nombre optimal de sous-tâches. | Pour finir, dans comme ce programme est "aussi" //gépufié// (porté sur GPU), il risque d'y avoir un goulet d'étranglement pour l'accès au GPU pour les 64 tâches simultanées. Ainsi, les programmes "fortement" parallélisés exigent de choisir judicieusement les différents paramètres de parallélisation tout comme nous avons vue que, pour les GPU, il fallait découper la tâche en un nombre optimal de sous-tâches. | ||
- | <note warning>Exercice #30 : Exécutez l'exemple ''alad_water'' | + | <note warning>Exercice #28 : Exécutez l'exemple ''alad_water'' |
* Récupérez [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/documents/alad_water.tgz|l'exemple d'exécution]] | * Récupérez [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/documents/alad_water.tgz|l'exemple d'exécution]] | ||
* Décompressez l'archive dans ''/local/$USER/GENESIS'' | * Décompressez l'archive dans ''/local/$USER/GENESIS'' | ||
Ligne 1523: | Ligne 1498: | ||
* Concluez sur la pertinence de l'utilisation de l'option ''-x OMP_NUM_THREADS=$OPTIMAL_THREADS'' | * Concluez sur la pertinence de l'utilisation de l'option ''-x OMP_NUM_THREADS=$OPTIMAL_THREADS'' | ||
</note> | </note> | ||
+ | |||
+ | ==== Intégration et exploitation du code Gromacs ==== | ||
+ | |||
+ | Nous allons tenter de reproduire une [[https://www.nvidia.com/en-us/data-center/gpu-accelerated-applications/gromacs/|expérience de Nvidia]] vantant l'efficacité des GPGPU pour le logiciel de [[https://fr.wikipedia.org/wiki/Dynamique_mol%C3%A9culaire|dynamique moléculaire]] [[http://www.gromacs.org/|Gromacs]]. | ||
+ | |||
+ | <note warning>Exercice #29 : appliquez la "recette" de Nvidia | ||
+ | * La documentation offre ceci : | ||
+ | - récupérez le source | ||
+ | - étendez l'archive | ||
+ | - créez un dossier pour la construction | ||
+ | - passez dans ce dossier | ||
+ | - préparez la compilation | ||
+ | - compilez le code | ||
+ | - installez les exécutables | ||
+ | * A quelle étape est-ce que cela bloque ? Quel message avez-vous ? | ||
+ | * Trouvez une méthode permettant de régler ce problème. | ||
+ | </note> | ||
+ | |||
+ | En cas de difficultés, appliquez la [[formation:insa2020gpu:insa2020gromacs4buster|recette de Gromacs pour Debian Buster]] ;-) | ||
+ | |||
+ | <note warning>Exercice #30 : Exécutez l'exemple ''1536'' | ||
+ | * Quel ''Elapsed Time'' avez-vous pour l'exécution sur GPU (et CPU) ? | ||
+ | * Quel ''Elapsed Time'' avez-vous pour l'exécution uniquement sur CPU ? | ||
+ | * Quel ratio de performances existe entre les deux exécutions ? | ||
+ | </note> | ||
+ | |||
===== Conclusion ===== | ===== Conclusion ===== | ||
Ligne 1530: | Ligne 1531: | ||
L'exploitation de "codes métier" vous aura aussi permis d'entrevoir la difficulté d'intégrer et d'exécuter des programmes dans des environnements pourtant bien homogènes : toutes les stations exploitées ont exactement le même système d'exploitation, [[developpement:productions:SIDUS|SIDUS]]. Les "astuces" permettant de simplement pouvoir exécuter les programmes illustraient aussi que, sans expérience, difficile de s'en sortir. | L'exploitation de "codes métier" vous aura aussi permis d'entrevoir la difficulté d'intégrer et d'exécuter des programmes dans des environnements pourtant bien homogènes : toutes les stations exploitées ont exactement le même système d'exploitation, [[developpement:productions:SIDUS|SIDUS]]. Les "astuces" permettant de simplement pouvoir exécuter les programmes illustraient aussi que, sans expérience, difficile de s'en sortir. | ||
- | --- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2020/01/01 19:44// | + | --- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2020/12/05 23:24// |