introduction:
multiprocessement, une bibliothèque python pour les tasks de la mise en parallérisation, les tenues AIMS pour distribuer des travaux sur plusieurs cœurs. Cependant, les utilisateurs ont rencontré un problème où l'importation de Numpy interfère avec cette distribution, ce qui entraîne tous les processus de travailleurs attribués à un seul noyau.
Explication:
lors de l'importation de Numpy , certains modules à forte intensité de CPU dans Numpy (par exemple, OpenBLAS) peuvent modifier l'affinité centrale. Cette interférence attribue tous les processus de travailleur au même noyau, éliminant les avantages de parallélisation du multiprocessement. Extrait: OS.System ("Taskset -p 0xff% D"% os.getpid ()). Cette commande oblige le système d'exploitation à distribuer uniformément les processus de travailleurs sur tous les cœurs disponibles.
Considérations supplémentaires:
Cette approche n'a pas eu d'impact significatif Sur les performances de Numpy, mais les effets peuvent varier en fonction des machines et tâches spécifiques. Avant d'exécuter le script.
Pendant la compilation, modifiez l'OpenBlas MakeFile.rule pour inclure NO_AFFINITY = 1.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3