Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: add support for large counts using derived datatypes
From: David Goodell (dgoodell) (dgoodell_at_[hidden])
Date: 2013-07-16 17:11:09


On Jul 16, 2013, at 4:03 PM, George Bosilca <bosilca_at_[hidden]>
 wrote:

> On Jul 16, 2013, at 22:29 , Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>
>> On Jul 16, 2013, at 4:22 PM, George Bosilca <bosilca_at_[hidden]> wrote:
>>
>>> Btw, I have a question to you fellow MPI Forum attendees. I just can't remember why the MPI forum felt there was a need for the MPI_Type_get[_true]_extent_x? MPI_Count can't be bigger than MPI_Aint,
>>
>> Yes, it can -- it has to be the largest integer type (i.e., it even has to be able to handle an MPI_Offset).
>
> Technicalities! In the entire standard MPI_Offset is only used to access files, not to build datatypes. As such there is no way to have the extent of an datatype bigger than MPI_Aint.

That's not true. You can obtain a datatype with an extent outside the range of an MPI_Aint by nesting types. Just create a contig of size 1, then create a type a very large extent from your contig with MPI_Type_create_resized, then create a second contig of that resized with a count >1.

> Thus, these accessors returning MPI_Count are a useless overkill, as they cannot offer more precision that what the version returning MPI_Aint is already offering.
>
> George.
>
> PS: I hope nobody has the idea to define the MPI_Offset as a signed type …

Not sure if you're joking here... MPI_Offset must also be signed, again, for Fortran interoperability.

-Dave