Hi, performance of MPI_Comm_spawn in the v1.8/v1.10 series is known to be poor, especially compared to v1.6
generally speaking, I cannot recommend v1.6 since it is no more maintained. that being said, if performance is critical, you might want to give it a try. I did not run any performance measurement with master, especially since we moved to PMIx, that might be worth a try too Cheers, Gilles On Sunday, April 3, 2016, Emani, Murali <ema...@llnl.gov> wrote: > Hi all, > > I am trying to evaluate the time taken for MPI_Comm_spawn operation in the > latest version of OpenMPI. Here a parent communicator (all processes, not > just the root) spawns one new child process (separate executable). The > code I¹m executing is > > main(){ > { > Š.. > // MPI initialization > Š.. > start1 = MPI_Wtime(); > MPI_Comm_spawn(³./child", MPI_ARGV_NULL,1, MPI_INFO_NULL, 0, > MPI_COMM_WORLD, &inter_communicator, MPI_ERRCODES_IGNORE ); > End = MPI_Wtime(); > > printf(³ spawn time: %f², (end-start)); > MPI_Barrier(inter_communicator); // spawn is collective, but still want to > ensure it using a barrier > .. > .. > // MPI finalize > } > > > In child.c > main(){ > { > Š.. > // MPI initialization > Š.. > > MPI_Comm_get_parent(&parentcomm); // gets the inter-communicator > MPI_Barrier(parentcomm); > .. > .. > // MPI finalize > } > > My observation is that the spawn time is very high (almost 80% of the > total program execution time). It increases exponentially with the number > of processes in the parent communicator. Is this method correct, and is > the MPI_Comm_spawn operation expensive. > I have also tried MPI_Comm_spawn_multiple but it still measures the same > time. > > Could kindly someone guide me in this issue. > > Thanks, > Murali > > > > _______________________________________________ > users mailing list > us...@open-mpi.org <javascript:;> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/04/28871.php >