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!