Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] Question about OpenMPI automatically spawns multiple threads for each task
From: Ping Luo (pingluo_at_[hidden])
Date: 2010-05-17 12:38:23


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: pingluo_at_[hidden]
Phone: (979)862-3107