Je remarque quand j'exécute mes programmes Python dépendants fortement du CPU, il n'utilise qu'un seul noyau. Est-il possible d'attribuer plusieurs noyaux au programme lorsque je l'exécute? P>
3 Réponses :
Vous devez programmer explicitement pour plusieurs cœurs. Voir les options de multipertisme symétrique sur Cette page pour les nombreuses solutions de traitement parallèle à Python. Python parallèle est un bon choix si vous ne pouvez pas être dérangé pour comparer les options, regarder les exemples ici . P>
Certains problèmes ne peuvent pas tirer parti de plusieurs cœurs. Pensez à la façon dont vous pourriez éventuellement monter les escaliers plus rapidement avec l'aide de trois amis. Ne va pas arriver! P>
Si une partie de votre problème peut être exécutée en parallèle, vous devez consulter le module multiprofessionnel < / a> p>
Je me demande pourquoi personne n'a jamais mentionné le GIL de CPPHON (Verrouillage mondial de l'interprète)). Il signifie fondamentalement que plusieurs threads à l'intérieur d'un interprète Python ne peuvent pas utiliser la puissance de plusieurs cœurs car de nombreuses opérations sont protégées par une serrure globale pour être en sécurité. Ceci s'applique uniquement à une petite quantité d'applications - les CPU-liées. Pour plus d'informations, juste chercher le terme "gil", il y a déjà beaucoup de questions à ce sujet (comme celui-là , par exemple). P>
Cette réponse suppose bien sûr que vous utilisez des threads multiples, sinon vous ne pourrez pas utiliser de multiples noyaux de toute façon ( multiprocessing serait une autre possibilité). P>