MPI is process based and not thread based. So there is no way in MPI to synchronize several threads. Moreover, all threads in a process will return the same rank [as you noticed].

Synchronizations internal to a process have to be done outside MPI. Any threading library, such as pthread library, is the way to go.

  george.

On Aug 10, 2007, at 3:57 PM, Yuan, Huapeng wrote:

Hi,

Can I use openmpi API like MPI_Reduce or MPI_Gather to synchronize
multiple theads in a process?

In my test in redhat linux, MPI_Comm_rank return 0 for all threads in
the same process. If I want to use the MPI functions like MPI_Reduce or
MPI_Gather, the  rank number shoule be different for each threads.

Do you have any suggestions? Thanks.

Hua

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to