Sous Linux, je vois deux approches pour exécuter des applications multicœurs. Supposons qu'un programme utilise 2 cœurs. Avec la première approche, en utilisant top
, je vois deux processus et chaque chaque noyau est de 100% ont reçu desUtilisation de plusieurs cœurs dans une application multicœur/multithread
22213 mahmood 20 0 1951m 180m 21m R 101.4 0.3 575:58.46 fluent_mpi.17.0
22214 mahmood 20 0 660m 167m 22m R 101.2 0.3 365:54.85 fluent_mpi.17.0
avec la seconde approche, je vois une procédure, mais l'utilisation est de 200%.
23286 mahmood 20 0 17.3g 13g 6776 R 203.2 21.5 17200:56 l1002.exe
Quelle est la différence entre ces deux approches? Est-il possible de changer la deuxième approche pour qu'elle soit similaire à la première approche?
OK, merci beaucoup. Le problème est que dans la deuxième approche, le couple (gestionnaire de travaux PBS) comprendre que comme un travail avec un noyau! Cependant, il faut comprendre que deux noyaux sont occupés. Actuellement, il pensera à tort aux cœurs libres. – mahmood
Ensuite, votre gestionnaire de travaux a un bug. Les threads multiples sont une manière très commune d'utiliser plus d'un noyau. –