]> git.openfabrics.org - ~ardavis/dapl.git/commit
dat: add definitions for MPI offloaded collectives in IB transport extensions
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 8 Aug 2011 05:06:09 +0000 (22:06 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 8 Aug 2011 05:06:09 +0000 (22:06 -0700)
commit5dc60f1aba17becf0788bcb519b17a47dc4be69c
treefd08dee534c985134dd02ec9d50bee30f2c9c3c0
parentd3ac07bc2caf82e8d2cd9d0ad50472f697538bd0
dat: add definitions for MPI offloaded collectives in IB transport extensions

The collective extensions are designed to support MPI and general
multicast operations over IB fabrics that support offloaded collectives.
Where feasible, they come as close to MPI semantics as possible.
Unless otherwise stated, all members participating in a data collective
operation must call the associated collective routine for the data
transfer operation to complete. Unless otherwise stated, the
root collective member of a data operation will receive its own portion
of the collective data. In most cases, the root member can prevent
sending/receiving data when such operations would be redundant. When root
data is already "in place" the root member may set the send and/or receive
buffer pointer argument to NULL.

Unlike standard DAPL movement operations that require registered
memory and LMR objects, collective data movement operations employ
pointers to user-virtual address space that do not require
pre-registration by the application. From a resource usage point
of view, the API user should consider that the provider implementation
my perform memory registrations/deregistration on behalf of the
application to accomplish a data transfer.

Most collective calls are asynchronous. Upon completion, an event
will be posted to the EVD specified when the collective was created.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dat/include/dat2/dat_ib_extensions.h