Hello,

I found when running am MPI program that is linked against OpenMPI library, 
for each MPI task, OpenMPI will spawn three threads, as the sample shown
below:


$ ps axms
...
13536  3565 0000000000000000                -                -                - 
-    pts/14     0:00 mpirun -n 2 ./a.out
13536     - 0000000000000000 0000000000000000 0000000000000000 0000000180015ee2 
S+   -          0:00 -
13536  3566 0000000000000000                -                -                - 
-    pts/14     0:00 ./a.out
13536     - 0000000000000000 0000000000010000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
13536     - 0000000000000000 0000000000000000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
13536     - 0000000000000000 0000000000000000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
13536  3567 0000000000000000                -                -                - 
-    pts/14     0:00 ./a.out
13536     - 0000000000000000 0000000000010000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
13536     - 0000000000000000 0000000000000000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
13536     - 0000000000000000 0000000000000000 0000000000000006 00000001800104e0 
SLl+ -          0:00 -
...


Does OpenMPI always spawn three threads for each MPI task by default? Can the 
number 
of threads be changed? Why is it implemented this way? Is there any case that 
it will 
degrade performance because of over-subscription?

Thanks,

-- 
Ping Luo
105 CSA, Building #517
Texas A&M University
Email: ping...@sc.tamu.edu
Phone: (979)862-3107

Reply via email to