Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-07 Thread Jeff Squyres (jsquyres)
This is a paper from back in 2004, and some of the details have definitely changed since then, but the high-level concepts are likely still to be a good overview of how Open MPI's coll selection process works: http://www.open-mpi.org/papers/ics-2004/ > On Oct 6, 2015, at 9:06 PM, Gilles G

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Gilles Gouaillardet
Dahai Guo, On 10/7/2015 3:08 AM, Dahai Guo wrote: Thanks, Jeff. It is very helpful. some more questions :-): 1. There are many coll components, such as basic, tuned, self, cuda, sm, and etc. Are they all selected at the MPI_Init time? or it just select those satisfying some criteria,

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Dahai Guo
Thanks, Jeff. It is very helpful. some more questions :-): 1.  There are many coll components, such as basic, tuned, self, cuda, sm, and etc.  Are they all selected at the MPI_Init time?  or it just select those satisfying  some criteria, hardware, communicator size? or only some specific ones a

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Jeff Squyres (jsquyres)
On Oct 6, 2015, at 10:19 AM, Dahai Guo wrote: > > Thanks, Gilles. Some more questions: > > 1. how does Open MPI define the priorities of the different collective > components? what criteria is based on? The priorities are in the range of [0, 100] (100=highest). The priorities tend to be fai

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Jeff Squyres (jsquyres)
On Oct 3, 2015, at 10:12 PM, Dahai Guo wrote: > > 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? In general, each framework (e.g., coll, pml, ...etc.) is polled during MPI

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Dahai Guo
Thanks, Gilles. Some more questions: 1. how does Open MPI  define the priorities of the different collective components? what criteria is based on? 2. how does a MPI collective function (MPI_Barrier for example) choose the exact algorithm it use? based on message size, and communicator size? any

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-06 Thread Gilles Gouaillardet
at first, you can check the priorities of the various coll modules with ompi_info $ ompi_info --all | grep \"coll_ | grep priority MCA coll: parameter "coll_basic_priority" (current value: "10", data source: default, level: 9 dev/all, type: int) MCA coll: parameter

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-03 Thread Dahai Guo
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

Re: [OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-02 Thread Jeff Squyres (jsquyres)
On Oct 2, 2015, at 2:21 PM, Dahai Guo 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

[OMPI devel] trace the openmpi internal function calls in MPI user program

2015-10-02 Thread Dahai Guo
Hi, Is there any way to trace open mpi internal function calls in a MPI user program? 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.  Thanks D.