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 libr
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