I stumbled upon something while using 'ps -eFL' to view threads of processes, 
and Google searches have failed to answer my question.  This question holds for 
OpenMPI 1.6.x and even OpenMPI 1.4.x.

For a program which is pure MPI (built and run using OpenMPI) and does not 
implement Pthreads or OpenMP, why is it that each MPI task appears as having 3 
threads:

UID      PID  PPID   LWP  C NLWP    SZ   RSS PSR STIME TTY          TIME CMD
sasso  20512 20493 20512 99    3 187849 582420 14 11:01 ?       00:26:37 
/home/sasso/mpi_example.exe
sasso  20512 20493 20588  0    3 187849 582420 11 11:01 ?       00:00:00 
/home/sasso/mpi_example.exe
sasso  20512 20493 20599  0    3 187849 582420 12 11:01 ?       00:00:00 
/home/sasso/mpi_example.exe

whereas if I compile and run a non-MPI program, 'ps -eFL' shows it running as a 
single thread?

Granted the CPU utilization (C) for 2 of the 3 threads is zero, but the threads 
are bound to different processors (11,12,14).   I am curious as to why this is, 
and no complaining that there is a problem.  Thanks!

--john

Reply via email to