Le Mac Pro que j’utilise au boulot annonce 8 cœurs physiques tournant en parallèle, pouvant aller jusqu’à 16 cœurs logiques, grâce à l’hyper-threading. Ça, c’est pour la pub…

Mais en cherchant à paralléliser des calculs au maximum, je n’arrive jamais à faire tourner les 16 cœurs en même temps (ça c’est le moniteur d’activité qui me le dit, avec un magnifique 50% de ressources inactives quand mon programme tourne pourtant à 800% d’entre elles).

J’ai donc décidé de désactiver l’hyper-threading afin de m’assurer que les 8 cœurs effectivement présents tournent à plein régime, car leur joli graphique tend à penser que l’ensemble des cœurs passe son temps à ne cordialement rien foutre ! Et comme d’habitude, les configurations les plus poussées sont bien cachées dans le beau monde d’Apple.

Il faut donc tout d’abord installer Xcode (apparemment, car je l’avais déjà installé pour d’autres raisons, personnellement), puis aller chercher le bon tableau de contrôle. En lançant les Préférences d'”Instruments”, on découvre un onglet “CPUs” qui permet justement de désactiver l’hyper-threading.

Attention : il paraît que cette configuration est réinitialisée après passage en veille ou redémarrage.

Et voilà !

P.S. : À l’heure actuelle, j’utilise macOS Sierra, je ne sais pas si cela fonctionne dans les versions précédentes, et bien entendu encore moins dans les versions futures !

Source : http://apple.stackexchange.com/a/199685/208957

Advertisements