Thanks, Jeff. I am trying to understand in detail how Open MPI works in the run time. What main functions does it call to select and initialize the coll components? Using the "helloworld" as an example, how does it select and initialize the MPI_Barrier algorithm? which C functions are involved and used in the process? Dahai
On Friday, October 2, 2015 7:50 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote: On Oct 2, 2015, at 2:21 PM, Dahai Guo <dahaiguo2...@yahoo.com> wrote: > > Is there any way to trace open mpi internal function calls in a MPI user > program? Unfortunately, not easily -- other than using a debugger, for example. > If so, can any one explain it with an example? such as helloworld? I build > open MPI with the VampirTrace options, and compile the following program with > picc-vt,. but I didn't get any tracing info. Open MPI is a giant state machine -- MPI_INIT, for example, invokes slightly fewer than a bazillion functions (e.g., it initializes every framework and many components/plugins). Is there something in particular that you're looking for / want to know about? > Thanks > > D. G. > > #include <stdio.h> > #include <mpi.h> > > > int main (int argc, char **argv) > { > int rank, size; > > MPI_Init (&argc, &argv); > MPI_Comm_rank (MPI_COMM_WORLD, &rank); > MPI_Comm_size (MPI_COMM_WORLD, &size); > printf( "Hello world from process %d of %d\n", rank, size ); > MPI_Barrier(MPI_COMM_WORLD); > MPI_Finalize(); > return 0; > } > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/10/18125.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/