Juan, if you need synchronization after MPI_Reduce, you can reimplement the function like this
int MPI_Reduce(...) { PMPI_Reduce(...); return PMPI_Barrier(); } Cheers, Gilles On Friday, July 8, 2016, Juan Francisco Martínez < juan.francisco.marti...@est.fib.upc.edu> wrote: > Hi everybody! > > First of all I want to congratulate all of you because the quality of > the community, I have solved a lot of doubts just reading the mailing > list. > > However I have a question that I can not solve... Until now I though > that all the collective operations have an implicit sincronization, but > I can see that this is not true at all (because optimizations?). Then, > after searching a little bit on the web I saw that there are several > implementations of the reduction in openmpi, in fact there are 6 > possible algorithm (at least on OMPI 1.6) that you can use by mean of > the mca parameters... > > I thought that one of them behaves as a synchronization but after > execute a test with each one, no one behaves as it. Then my question > is, there is any possibility, by tuning ompi, the reduce operation > syncrhonize all the ranks that are involved at the end of the > operation? > > Also I would like to know if there is any mechanism to know at runtime > which algorithm is being used. > > Thanks for all! > - Fran > _______________________________________________ > users mailing list > us...@open-mpi.org <javascript:;> > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/07/29606.php >