[mpiwg-rma] Use of MPI_SHORT_INT, etc with MPI_Accumulate

Nathan Hjelm hjelmn at mac.com
Thu May 12 05:38:24 CDT 2016


Ok, so in this case “predefined type” means any type defined by MPI. That is not clear from the text and it is reasonable to assume that non-homogenous (and possibly non-contiguous) datatypes are not allowed. MPI_MINLOC and MPI_MAXLOC could be be assumed to be only allowed for MPI_2INT, MPI_2REAL, etc for example. Allowing MPI_SHORT_INT, MPI_DOUBLE_INT, etc requires MPI implementations to write special cases to handle these potentially non-contiguous datatypes. A lot of extra code for what is likely no benefit to end users. Does anyone know of a code that makes use of this feature?

-Nathan


> On May 11, 2016, at 8:35 AM, William Gropp <wgropp at illinois.edu> wrote:
> 
> Read this as (predefined datatype) or (derived datatype where all basic components are of the same predefined datatype).
> 
> MPI_SHORT_INT is a predefined datatype, and so is valid for accumulate.
> 
> Bill
> 
> William Gropp
> Director, Parallel Computing Institute
> Thomas M. Siebel Chair in Computer Science
> Chief Scientist, NCSA
> University of Illinois Urbana-Champaign
> 
> 
> 
> 
> 
> On May 11, 2016, at 9:02 AM, Nathan Hjelm <hjelmn at mac.com> wrote:
> 
>> I have a user who is trying to use MPI_SHORT_INT as the origin and target datatype arguments of MPI_Accumulate. My interpretation of the standard does not allow this type. I am justifying this because of MPI 3-1 § 11.3.4 pp 425:2-8:
>> 
>> Each datatype argument must be a predefined datatype or a derived datatype, where
>> all basic components are of the same predefined datatype. Both datatype arguments must
>> be constructed from the same predefined datatype.
>> 
>> MPI_SHORT_INT, MPI_LONG_DOUBLE_INT, etc are not in any of the A.1 tables labeled as "predefined datatypes”. They show up in a separate list of datatypes for reduction functions. Since these datatypes are not “predefined datatypes” and are not composite datatypes of the "same predefined datatype” they are not valid for MPI_Accumulate, MPI_Get_accumulate, etc. Am I wrong in my interpretation?
>> 
>> -Nathan
>> _______________________________________________
>> mpiwg-rma mailing list
>> mpiwg-rma at mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma
> 
> _______________________________________________
> mpiwg-rma mailing list
> mpiwg-rma at mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-rma/attachments/20160512/1f249964/attachment-0001.pgp>


More information about the mpiwg-rma mailing list