Project

General

Profile

Feature #947

Feature #944: AMPI compliance with MPI-2.2 standard

AMPI support for MPI-2's MPI_Type_* routines

Added by Sam White over 3 years ago. Updated 9 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
AMPI
Target version:
-
Start date:
08/27/2016
Due date:
% Done:

100%


type_create_subarray.c View (2.31 KB) Sam White, 01/14/2016 05:39 PM


Subtasks

Bug #1191: AMPI is missing MPI_Type_*_{attr,keyval} routinesMergedEdward Hutter

History

#1 Updated by Sam White over 3 years ago

MPI_Type related functionality from MPI-2.2 that is missing from AMPI:

MPI_Type_match_size (and MPI_TYPECLASS_INTEGER, MPI_TYPECLASS_REAL, MPI_TYPECLASS_COMPLEX)

MPI_Type_dup
MPI_Type_get_true_extent (and MPI_Type_get_true_extent_x)
MPI_Type_create_indexed_block
MPI_Type_create_hindexed_block
MPI_Type_create_resized
MPI_Type_create_subarray
MPI_Type_get_name
MPI_Type_set_name
MPI_Type_set_attr
MPI_Type_get_attr
MPI_Type_delete_attr
MPI_ORDER_C
MPI_ORDER_FORTRAN

Strike-through means it has been implemented since opening this issue.

No plan for support:
MPI_Pack_external
MPI_Pack_external_size
MPI_Unpack_external
MPI_Type_create_darray (defined in ROMIO, and possibly deprecated in MPI-4.0)
(darray constants: MPI_DISTRIBUTE_NONE, MPI_DISTRIBUTE_BLOCK, MPI_DISTRIBUTE_CYCLIC, and MPI_DISTRIBUTE_DFLT_DARG)
MPI_Type_subarray (defined in ROMIO)

#2 Updated by Sam White over 3 years ago

  • Tracker changed from Bug to Feature

#3 Updated by Sam White over 3 years ago

  • Subject changed from AMPI support for MPI-2's MPI_Type_create_resized to AMPI support for MPI-2's MPI_Type_* routines

#5 Updated by Sam White over 3 years ago

  • % Done changed from 0 to 10
  • Status changed from New to In Progress

#6 Updated by Sam White about 3 years ago

All new datatype support should be implemented in CkDDT, not AMPI, so these changes were reverted for that reason and because of this: ROMIO tests for the existence of MPI_ORDER_{C,FORTRAN}, MPI_Type_create_subarray, and MPI_Type_create_darray all together. If one of those is implemented, all must be implemented. We will need to change ROMIO to test for these things separately if we don't implement subarray and darray together.

https://charm.cs.illinois.edu/gerrit/#/c/1026/
https://charm.cs.illinois.edu/gerrit/#/c/1025/

#7 Updated by Sam White about 3 years ago

MPI-3 defines some additional Datatype-related features that we can add on this issue or a separate one. In particular, MPI_Type_create_hindexed_block should probably be implemented along with the MPI-2 types.

MPI_Type_create_hindexed_block
MPI_Type_get_extent_x
MPI_Type_get_true_extent_x
MPI_Type_size_x

#8 Updated by Sam White about 3 years ago

  • Assignee changed from Sam White to Edward Hutter

#9 Updated by Sam White about 3 years ago

MPI_Type_create_darray might be deprecated in MPI-4.0, so we should prioritize other features over it for now: https://github.com/mpi-forum/mpi-issues/issues/43

#10 Updated by Sam White about 3 years ago

MPI_Type_create_indexed_block and MPI_Type_create_hindexed_block: https://charm.cs.illinois.edu/gerrit/#/c/1144/

#11 Updated by Sam White almost 3 years ago

Subarray (initial commit missing Fortran support and will break ROMIO unless we change ROMIO's configure): https://charm.cs.illinois.edu/gerrit/#/c/1175/

#12 Updated by Sam White almost 3 years ago

  • % Done changed from 10 to 30

#13 Updated by Sam White almost 3 years ago

  • % Done changed from 30 to 40

#14 Updated by Sam White almost 3 years ago

  • % Done changed from 40 to 50

#16 Updated by Sam White over 2 years ago

I didn't have MPI_Type_dup on this list earlier, which was added in MPI-2.1. We'll need to eventually implement that as well.

#17 Updated by Sam White over 2 years ago

These 2 would be good to support:

MPI_Type_dup
MPI_Type_get_true_extent

And after you've added MPI_Type_get_true_extent, add MPI_Type_get_true_extent_x to the large count support commit that is already in gerrit (if it isn't merged before then).

#18 Updated by Sam White almost 2 years ago

  • Target version changed from 6.8.0 to 6.8.1

#19 Updated by Sam White over 1 year ago

  • Target version changed from 6.8.1 to 6.9.0

#20 Updated by Sam White over 1 year ago

  • Target version deleted (6.9.0)
  • Assignee changed from Edward Hutter to Sam White

Also available in: Atom PDF