Thanks a lot! i got it.Could you introduce some more materials for me to get
better understood of the following functions:
(1):/ompi/mca/pml/ob1/pml_ob1.c/mca_pml_ob1_add_procs
(2):/ompi/mca/bml/r2/bml_r2.c/mca_bml_r2_add_procs
(3):/ompi/mca/btl/tcp/btl_tcp.c/mca_btl_tcp_add_procs
especially the second function, it's really hard to totally understand these
functions.
Thanks & Regards
Yaohui Hu
On Thu, Feb 25, 2010 at 10:34 AM, Jeff Squyres <jsquy...@cisco.com> wrote:

> On Feb 24, 2010, at 12:16 PM, Aurélien Bouteiller wrote:
>
> > btl is the component responsible for a particular type of fabric.
> Endpoint is somewhat the instantiation of a btl to reach a particular
> destination on a particular fabric, proc is the generic name and properties
> of a destination.
>
> A few more words here...
>
> btl = Byte Transfer Layer.  It's our name for the framework that governs
> one flavor of point-to-point communications in the MPI layer.  Components in
> this framework are used by the ob1 and csum PMLs to effect MPI
> point-to-point communications (they're used in other ways, too, but let's
> start at the beginning here...).  There are several btl components: tcp, sm
> (shared memory), self (process loopback), openib (OpenFabrics), ...etc.
>  Each one of these effects communications over a different network type.
>  For purposes of this discussion, "component" == "plugin".
>
> The btl plugin is loaded into an MPI process and its component open/query
> functions are called.  If the btl component determines that it wants to run,
> it returns one or more modules.  Typically, btls return a module for every
> interface that they find.  For example, if the openib module finds 2
> OpenFabrics device ports, it'll return 2 modules.
>
> Hence, we typically describe components as analogous to a C++ class;
> modules are analogous to instances of that C++ class.
>
> Note that in many BTL component comments and variables/fields, they
> typically use shorthand language such as, "The btl then does this..."  Such
> language almost always refers to a specific module of that btl component.
>
> Modules are marshalled by the bml and ob1/csum to make an ordered list of
> who can talk to whom.
>
> Endpoints are data structures used to represent a module's connection to a
> remote MPI process (proc).  Hence, a BTL component can create multiple
> modules; each module can create lots of endpoints.  Each endpoint is tied to
> a specific remote proc.
>
> > Aurelien
> >
> > Le 24 févr. 2010 à 09:59, hu yaohui a écrit :
> >
> > > Could someone tell me the relationship between proc,endpoint and btl?
> > >                  thanks & regards
> > > _______________________________________________
> > > devel mailing list
> > > de...@open-mpi.org
> > > http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >
> >
> > _______________________________________________
> > devel mailing list
> > de...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >
>
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

Reply via email to