| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| formation:insa2020gpu [2020/12/05 22:25] – equemene | formation:insa2020gpu [2020/12/07 10:05] (Version actuelle) – [Déroulement de la session] equemene |
|---|
| * 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 ===== |
| | |
| * ''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. |
| |
| 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 |