I utilisent mpi4py et openmpi sur une machine multi-processeur/noyau pour faire l'algèbre linéaire. Mon numpy est construit en utilisant ATLAS. Supposons que j'ai une machine à 4 cœurs et que je voudrais lancer un script python à 4 nœuds qui fait de l'algèbre linéaire sur chaque nœud en utilisant numpy.ATLAS algèbre linéaire et openmpi sur multiconducteur avec python
Comment puis-je faire en sorte que ATLAS ne pas utiliser plus d'un noyau lorsqu'il est en train de faire l'algèbre linéaire dans chaque noeud? Quand je construis ATLAS, il ne semble pas y avoir d'option pour qu'il soit configuré pour fonctionner sur un seul noyau à la fois. Avec Intel MKL, je pense que vous pouvez définir OMP_NUM_THREADS = 1, et ce comportement est garanti. Y at-il un moyen de construire ATLAS juste à cet effet? Il ne semble pas y avoir une variable d'environnement équivalente.
Je suppose que l'exécution de plusieurs opérations BLAS simultanément sur chaque noyau d'une CPU multi-cœurs n'est pas une bonne stratégie. Quelqu'un peut-il commenter ou donner des règles empiriques pour savoir si c'est une bonne ou une mauvaise idée?
Merci. Je vais regarder dans la construction d'ATLAS en série. Il est bon d'avoir un chiffrement avec un ATLAS à un seul cœur à cette fin. – Paul