Outils pour utilisateurs

Outils du site


logiciels:mkl:mkl-et-parallelisme

Ceci est une ancienne révision du document !


MKL et parallélisme

Voir cette page sous forme de diaporama.

Nous avons vu dans l'introduction à la MKL que cette librairie est par défaut en mode multi-threadé.

L'objet de cet article est d'exposer dans les grandes lignes :

  • les gains que vous pouvez en attendre
  • le fonctionnement de la couche de threading
  • les interactions avec votre code si vous utilisez déjà du threading
  • le bon usage sous l'ordonnanceur Slurm :!:

Fonctions threadées

  • Toute les fonctions de la MKL ne se prêtent pas à du multi-threading
  • Les familles de fonctions concernées sont :
    • Direct sparse solver
    • LAPACK : certaines fonctions
    • Level1 and Level2 BLAS : certaines fonctions
    • Level 3 BLAS et presque toutes les fonctions Sparse BLAS
    • Toutes les fonctions mathématiques VML
    • FFT
  • La liste exhaustive des méthodes est donnée dans le User's Guide, section Threaded Functions and Problems

Thread-safe

Nous rappelons que la MKL est thread-safe.

Autrement dit, si votre programme est déjà multi-threadé (quel que soit le moyen utilisé) et que vous faites appel à la MKL dans des threads, l'exécution du programme ne risque pas de “planter” ou de générer des résultats aléatoires.

logiciels/mkl/mkl-et-parallelisme.1433342936.txt.gz · Dernière modification: 2015/06/03 16:48 de montap01