Python et multiprocessing

Le
olivier.marti
Bonjour,

J'ai un MacBook Pro sous High Sierra dont le rapport système me dit
qu'il a 1 processeurs, et 2 c½urs.

Et pourtant :

marti@Spip-[Unix]/Python/Parallel ?? python3 -c "import
multiprocessing; print(multiprocessing.cpu_count())"
4

D'ou viennent ces 4 c½urs ? J'ai le même résultat avec ce Python 3.6.5
d'Anaconda et avec le Python 2.67.10 du système. C'est un bug connu, ou
j'ai un souci chez moi ?

Olivier Marti
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
gilbert.olivier
Le #26496818
Olivier Marti
Bonjour,
J'ai un MacBook Pro sous High Sierra dont le rapport système me dit
qu'il a 1 processeurs, et 2 c½urs.

Et 2 threads par coeur non?
Donc 2x2=4 ;-)
Et pourtant :
[Unix]/Python/Parallel ?? python3 -c "import
multiprocessing; print(multiprocessing.cpu_count())"
4

Il faut comprendre 4 threads je pense.
D'ou viennent ces 4 c½urs ? J'ai le même résultat avec ce Python 3.6.5
d'Anaconda et avec le Python 2.67.10 du système. C'est un bug connu, ou
j'ai un souci chez moi ?

Ouvre le moniteur d'activite et la fenêtre "Accès au processeuré",
rgarde, tu devrais avoir 4 colonnes.
Olivier Marti


--
Gilbert
olivier.marti
Le #26496844
Gilbert OLIVIER
Olivier Marti
Bonjour,
J'ai un MacBook Pro sous High Sierra dont le rapport système me dit
qu'il a 1 processeurs, et 2 c½urs.

Et 2 threads par coeur non?
Donc 2x2=4 ;-)
Et pourtant :
[Unix]/Python/Parallel ?? python3 -c "import
multiprocessing; print(multiprocessing.cpu_count())"
4

Il faut comprendre 4 threads je pense.
D'ou viennent ces 4 c½urs ? J'ai le même résultat avec ce Python 3.6.5
d'Anaconda et avec le Python 2.67.10 du système. C'est un bug connu, ou
j'ai un souci chez moi ?

Ouvre le moniteur d'activite et la fenêtre "Accès au processeuré",
rgarde, tu devrais avoir 4 colonnes.
Olivier Marti


Yep !
Ca veut dire qu'il gère 2 thread par c½urs. On a ça sur nos gros
calculateurs avec des processeurs skylake. Je n'aurais pas pensé que mon
vieux Mac de 4 ans faisait ça.
Mais du coup je ne pige pas pourquoi mpirun refuse de me lancer plus de
2 processus parallèles ?
Olivier
gilbert.olivier
Le #26496847
Olivier Marti
Yep !
Ca veut dire qu'il gère 2 thread par c½urs. On a ça sur nos gros
calculateurs avec des processeurs skylake. Je n'aurais pas pensé que mon
vieux Mac de 4 ans faisait ça.

Mon MacBookPro mi-2010 le fait aussi ;-)
Mais du coup je ne pige pas pourquoi mpirun refuse de me lancer plus de
2 processus parallèles ?

???
La je passe mon tour.
--
Gilbert
pehache
Le #26496885
Le 13/11/2018 à 20:27, Olivier Marti a écrit :
Gilbert OLIVIER
Olivier Marti
Bonjour,
J'ai un MacBook Pro sous High Sierra dont le rapport système me dit
qu'il a 1 processeurs, et 2 cœurs.

Et 2 threads par coeur non?
Donc 2x2=4 ;-)
Et pourtant :
[Unix]/Python/Parallel ? ? python3 -c "import
multiprocessing; print(multiprocessing.cpu_count())"
4

Il faut comprendre 4 threads je pense.
D'ou viennent ces 4 cœurs ? J'ai le même résultat avec ce Python

3.6.5
d'Anaconda et avec le Python 2.67.10 du système. C'est un bug connu, ou
j'ai un souci chez moi ?

Ouvre le moniteur d'activite et la fenêtre "Accès au processeuré",
rgarde, tu devrais avoir 4 colonnes.
Olivier Marti


Yep !
Ca veut dire qu'il gère 2 thread par cœurs. On a ça sur nos gros
calculateurs avec des processeurs skylake. Je n'aurais pas pensé que mon
vieux Mac de 4 ans faisait ça.

L'hyperthreading date d'une bonne douzaine d'années.
Mais du coup je ne pige pas pourquoi mpirun refuse de me lancer plus de
2 processus parallèles ?

Sans doute parce que l'hyperthreading est en général plus adapté pour
exécuter des threads différents d'un même process (qui partagent la
même mémoire) que des process différents.
olivier.marti
Le #26497155
pehache
Le 13/11/2018 à 20:27, Olivier Marti a écrit :
Gilbert OLIVIER
Olivier Marti > Bonjour,
>
> J'ai un MacBook Pro sous High Sierra dont le rapport système me dit
> qu'il a 1 processeurs, et 2 c½urs.
Et 2 threads par coeur non?
Donc 2x2=4 ;-)
>
> Et pourtant :
>
> [Unix]/Python/Parallel ? ? python3 -c "import
> multiprocessing; print(multiprocessing.cpu_count())"
> 4
Il faut comprendre 4 threads je pense.
>
> D'ou viennent ces 4 c½urs ? J'ai le même résultat avec ce Python
3.6.5
> d'Anaconda et avec le Python 2.67.10 du système. C'est un bug connu, ou
> j'ai un souci chez moi ?
Ouvre le moniteur d'activite et la fenêtre "Accès au processeuré",
rgarde, tu devrais avoir 4 colonnes.
>
> Olivier Marti

Yep !
Ca veut dire qu'il gère 2 thread par c½urs. On a ça sur nos gros
calculateurs avec des processeurs skylake. Je n'aurais pas pensé que mon
vieux Mac de 4 ans faisait ça.

L'hyperthreading date d'une bonne douzaine d'années.

Mais en fait n'était guère efficace sur nos gros codes de calculs, et
pendant longtemps pas activé par défaut sur ces machines.
Mais du coup je ne pige pas pourquoi mpirun refuse de me lancer plus de
2 processus parallèles ?

Sans doute parce que l'hyperthreading est en général plus adapté pour
exécuter des threads différents d'un même process (qui partagent la
même mémoire) que des process différents.

J'imagine. Il faudra que j'essaye en surchargeant pour voir s'il
exploite les 4 threads.
Publicité
Poster une réponse
Anonyme