[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