Skip to content

v3.x: revamp opal/datatype internals #3568

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

ggouaillardet
Copy link
Contributor

No description provided.

ggouaillardet and others added 4 commits May 24, 2017 09:57
since Open MPI now requires a C99, and ptrdiff_t type is part of C99,
there is no more need for the abstract OPAL_PTRDIFF_TYPE type.

Signed-off-by: Gilles Gouaillardet <[email protected]>

(cherry picked from commit open-mpi/ompi@fa5cd0d)
since Open MPI now requires a C99, and ptrdiff_t type is part of C99,
there is no more need for the abstract OPAL_PTRDIFF_TYPE type.

Thanks George, Nathan and Paul for the help.

Signed-off-by: Gilles Gouaillardet <[email protected]>

(cherry picked from commit open-mpi/ompi@cc8a655)
* Don't overflow the internal datatype count.
Change the type of the count to be a size_t (it does not alter the total
size of the internal structures, so has no impact on the ABI).

Signed-off-by: George Bosilca <[email protected]>

* Optimize the datatype creation.
The internal array of counts of predefined types is now only created
when needed, which is either in a heterogeneous environment, or when
one call get_elements. It saves space and makes the convertor creation a
little faster in some cases.

Rearrange the fields in the datatype description structs.

The macro OPAL_DATATYPE_INIT_PTYPES_ARRAY had a bug, and the
static array was only partially created. All predefined types should
have the ptypes array created and initialized.

Signed-off-by: George Bosilca <[email protected]>

* Fix the boundary computation.

Signed-off-by: George Bosilca <[email protected]>

* test/datatype: add test for short unpack on heteregeneous cluster

Signed-off-by: Gilles Gouaillardet <[email protected]>
Signed-off-by: George Bosilca <[email protected]>

* Trying to reduce the cost of creating a convertor.

Signed-off-by: George Bosilca <[email protected]>

* Respect the unpack boundaries.
As Gilles suggested on open-mpi#2535 the opal_unpack_general_function was
unpacking based on the requested count and not on the amount of packed
data provided.
Fixes open-mpi#2535.

Signed-off-by: George Bosilca <[email protected]>

(cherry picked from commit open-mpi/ompi@cbf03b3)
@ggouaillardet
Copy link
Contributor Author

Refs. #3438

Copy link
Member

@bosilca bosilca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks legit (but it's a big patch).

@bwbarrett
Copy link
Member

Is this in addition to or in replacement of #3504?

@bwbarrett
Copy link
Member

bot:ompi:retest

@bosilca
Copy link
Member

bosilca commented May 24, 2017

As a replacement for #3504.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants