[ofiwg] strawman of the datatypes to be supported

Hefty, Sean sean.hefty at intel.com
Tue Sep 9 11:02:11 PDT 2014


FYI, I have the following issue opened to track this:

https://github.com/ofiwg/libfabric/issues/32

I added your email comments to the issue notes.

- Sean

> -----Original Message-----
> From: ofiwg-bounces at lists.openfabrics.org [mailto:ofiwg-
> bounces at lists.openfabrics.org] On Behalf Of Jeff Hammond
> Sent: Tuesday, September 09, 2014 10:42 AM
> To: Paul Grun
> Cc: ofiwg at lists.openfabrics.org
> Subject: [ofiwg] strawman of the datatypes to be supported
> 
> o AR: Jeff Hammond to provide a strawman of the datatypes to be supported
> 
> I propose that the following MPI datatypes have explicit support in
> the API.  As Chapter 4 of MPI-3 is extremely detailed in its
> definition of these operations, I see no reason to summarize here.  I
> only list the motivation and some caveats.
> 
> The over-arching caveat is that I do not think we need to support
> recursive type creating the way MPI does.  The derived types below
> only need to be composed of built-in types.
> 
> 1) MPI_TYPE_INDEXED
> 
> General purpose IOVEC supports allows the user to act on arbitrary
> noncontiguous data using a single API call.
> 
> 2) MPI_TYPE_VECTOR (shmem_<T>_i{put,get} are special cases of this
> where blocklength=1)
> 
> Vector types are an obvious optimization because communicating such
> data regions otherwise requires O(n) operations or a single IOVEC
> operation with O(n) metadata, where n is the number of elements in the
> vector.  Explicit expression of vector types also enables the use of
> scatter-gather engines in the CPU and/or NIC.
> 
> 3) MPI_TYPE_CREATE_INDEXED_BLOCK
> 
> This is an optimization to (1) that reduces the vector of block sizes
> to a scalar.
> 
> 
> This is not necessarily a complete list of type support but my three
> highest priorities as a user and/or implementor of MPI-3, GA/ARMCI and
> OpenSHMEM.
> 
> Best,
> 
> Jeff





More information about the ofiwg mailing list