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 [2020/12/05 23:25] equemene |
formation:insa2020gpu [2020/12/07 11:05] (Version actuelle) equemene [Déroulement de la session] |
||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
* Exploration de "codes métier" : [[https://www.tensorflow.org/|TensorFlow]], [[https://www.r-ccs.riken.jp/labs/cbrt/|GENESIS]] et [[http://www.gromacs.org/|Gromacs]] | * Exploration de "codes métier" : [[https://www.tensorflow.org/|TensorFlow]], [[https://www.r-ccs.riken.jp/labs/cbrt/|GENESIS]] et [[http://www.gromacs.org/|Gromacs]] | ||
+ | De manière à disposer d'une trace de votre travail et de pouvoir l'évaluer, il est demandé de rédiger un compte-rendu sur la base des questions posées. N'hésitez pas à faire des copies d'écran et à les intégrer dans votre rapport. Le rapport devra être rendu le vendredi suivant la seconde séance de travaux pratiques. | ||
===== Démarrage de la session ===== | ===== Démarrage de la session ===== | ||
Ligne 375: | Ligne 376: | ||
* ''Pi'' : implémentation multiples d'un [[https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo|Pi Monte Carlo]] | * ''Pi'' : implémentation multiples d'un [[https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo|Pi Monte Carlo]] | ||
* ''Splutter'' : un modèle de ''postillonneur mémoire'', très utile pour évaluer les //fonctions atomiques// | * ''Splutter'' : un modèle de ''postillonneur mémoire'', très utile pour évaluer les //fonctions atomiques// | ||
+ | * ''TrouNoir'' : un exemple de portage de code de 1994, porté en C en 1997 puis en Python/OpenCL et Python/CUDA en 2019 | ||
De tous ces programmes, seuls ceux présents dans ''BLAS'', ''NBody'' et ''Pi'' seront exploités dans le cadre de ces travaux pratiques. | De tous ces programmes, seuls ceux présents dans ''BLAS'', ''NBody'' et ''Pi'' seront exploités dans le cadre de ces travaux pratiques. | ||
Ligne 402: | Ligne 404: | ||
Nous avons alors 12 exécutables de la forme ''xGEMM_SP_<version>'' ou ''xGEMM_DP_<version>'' : | Nous avons alors 12 exécutables de la forme ''xGEMM_SP_<version>'' ou ''xGEMM_DP_<version>'' : | ||
- | * ''fblas'' utilisant la librairie ATLAS, pour CPU | ||
* ''openblas'' utilisant la librairie OpenBLAS, pour CPU | * ''openblas'' utilisant la librairie OpenBLAS, pour CPU | ||
* ''gsl'' utilisant la librairie GSL (pour //GNU Scientific Librairies//) | * ''gsl'' utilisant la librairie GSL (pour //GNU Scientific Librairies//) | ||
+ | * ''fblas'' utilisant la librairie OpenBLAS mais pour des appels fortran, pour CPU | ||
* ''cublas'' utilisant la librairie cuBLAS avec une gestion externe de la mémoire | * ''cublas'' utilisant la librairie cuBLAS avec une gestion externe de la mémoire | ||
* ''thunking'' utilisant la librairie cuBLAS avec une gestion interne de la mémoire | * ''thunking'' utilisant la librairie cuBLAS avec une gestion interne de la mémoire |