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 Dernière révision Les deux révisions suivantes | ||
formation:insa2020gpu [2020/12/05 23:25] equemene |
formation:insa2020gpu [2020/12/07 04:54] equemene [Exploitations de xGEMM] |
||
---|---|---|---|
Ligne 375: | Ligne 375: | ||
* ''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 403: | ||
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 |