e24d5ccb7e
The ompi_datatype_get_single_predefined_type_from_args() recurses down into a constructed type to identify what base datatype it's built from if it's built from a single type. But if the type has MPI_LB/MPI_UB, for example lens[0] = 1; lens[1] = 1; disps[0] = 0; disps[1] = 0; types[0] = MPI_LB; types[1] = MPI_INT; MPI_Type_create_struct(2, lens, disps, types, &mydt); then this function will see the base type MPI_LB as differing from MPI_INT and will identify mydt as not being constructed from a single base type, so the type will be rejected for calls like MPI_Accumulate. I think those "meta data" types shouldn't result in rejection like that, and the above mydt should still be identified as having a single base type of MPI_INT. Addition: boslica wanted another change discussed here https://github.com/open-mpi/ompi/pull/3609 relating to the calculation for "count" after identifying the predefined_type that was being used. Signed-off-by: Mark Allen <markalle@us.ibm.com> |
||
---|---|---|
.. | ||
base.h | ||
Makefile.am | ||
osc_base_frame.c | ||
osc_base_init.c | ||
osc_base_obj_convert.c | ||
osc_base_obj_convert.h | ||
owner.txt |