Maison  >  Article  >  développement back-end  >  Comment restreindre le nombre de threads dans NumPy pour des performances optimales ?

Comment restreindre le nombre de threads dans NumPy pour des performances optimales ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-19 12:28:29457parcourir

How to Restrict Thread Count in NumPy for Optimal Performance?

Limiter le nombre de threads dans NumPy

NumPy utilise des bibliothèques multi-CPU comme BLAS pour des calculs numériques efficaces. Cependant, vous pouvez rencontrer des cas où le nombre de threads par défaut (4) s'avère excessif. Pour résoudre ce problème, vous pouvez exploiter des indicateurs d'environnement spécifiques.

Avant d'exécuter le script NumPy, pensez à définir les indicateurs suivants :

export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1

L'indicateur MKL_NUM_THREADS définit le nombre de threads autorisé pour Intel Math. Bibliothèque de noyau (MKL). NUMEXPR_NUM_THREADS contrôle le threading de NumExpr, qui est utilisé pour les calculs numériques rapides. Enfin, OMP_NUM_THREADS gère le nombre de threads utilisé par OpenMP, une norme industrielle pour la programmation parallèle en C/C/Fortran.

La définition de ces indicateurs garantit que toutes les bibliothèques de NumPy respectent une limite stricte de threads de 1. Ceci peut améliorer les performances de la multiplication matricielle et d'autres opérations qui ne bénéficient pas de plusieurs threads.

Notez que si vous rencontrez des problèmes malgré la définition des indicateurs mentionnés, cela peut indiquer que le multithreading est introduit ailleurs dans la base de code. Dans de tels cas, une enquête supplémentaire est justifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn