Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] About Marshalling and Umarshalling
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2012-11-05 10:27:17


On Nov 5, 2012, at 10:13 AM, Ralph Castain wrote:

> We adhere to the MPI standard, so we expect the user in such an instance to define a datatype that reflects the structure they are trying to send. We will then do the voodoo to correctly send that data in a heterogeneous environment, and pass the data back (in the defined datatype) to the user on the remote end. They can then put the various items back into their structure.
>
> I'm not sure what you mean by an "ideal style language". See the MPI standard or our doc page, for example
>
> http://www.open-mpi.org/doc/v1.6/man3/MPI_Type_create_struct.3.php
>
> for an explanation of how one defines a datatype.

To expand on that, you might want to see some trivial MPI programs that sent native types around (i.e., no datatype construction required). For example:

  https://svn.open-mpi.org/trac/ompi/browser/trunk/examples/ring_c.c

Note, too, that MPI implementations (Open MPI included) typically don't "marshall" when they don't have to, meaning that we'll send directly from the user's buffer when possible (e.g., sending contiguous buffers in homogeneous situations).

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/