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/


Reply via email to