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