George, Thanks for your quick response. Your fix seemed good to me last week, but this week my colleague found it's not sufficient. There are two issues.
(A) We should update opt_desc too. In current ompi_datatype_init, we copy OPAL desc to OMPI desc. But opt_desc still points to OPAL desc. We should update opt_desc to point copied OMPI desc. (B) Fortran desc is not properly set. See the attached result-before.txt. It is the output of the attached show_ompi_datatype.c. Fortran basic datatypes, like MPI_CHARACTER, MPI_REAL, MPI_DOUBLE_PRECISION, have wrong desc_t. It is because these datatypes are statically initialized with OMPI_DATATYPE_INIT_PREDEFINED_BASIC_TYPE_FORTRAN macro and desc and opt_desc point to one element of ompi_datatype_predefined_elem_desc array with an OPAL index. For example, desc of ompi_mpi_character points to ompi_datatype_predefined_elem_desc[OPAL_DATATYPE_INT1]. If we use ompi_datatype_predefined_elem_desc, we should use an OMPI datatype index (OMPI_DATATYPE_MPI_INT8_T etc.) and not an OPAL datatype index (OPAL_DATATYPE_INT1 etc.). Therefore the condition (pDesc != datatype->super.desc.desc) in ompi_datatype_init becomes true and we copy desc from the wrong part currently. i.e. copy from ompi_datatype_predefined_elem_desc[OPAL_DATATYPE_INT1] to ompi_datatype_predefined_elem_desc[OMPI_DATATYPE_MPI_CHARACTER]. The initialization part of ompi_mpi_character in ompi_datatype_internal.h and ompi_datatype_module.c: ---------------------------------------------------------------- ompi_predefined_datatype_t ompi_mpi_character = OMPI_DATATYPE_INIT_PREDEFINED_BASIC_TYPE_FORTRAN (INT, CHARACTER, 1, OPAL_ALIGNMENT_CHAR, 0 ); #define OMPI_DATATYPE_INITIALIZER_FORTRAN( TYPE, NAME, SIZE, ALIGN, FLAGS ) \ { \ OPAL_OBJ_STATIC_INIT(opal_datatype_t), \ OPAL_DATATYPE_FLAG_BASIC | \ OMPI_DATATYPE_FLAG_PREDEFINED | \ OMPI_DATATYPE_FLAG_DATA_FORTRAN | (FLAGS) /*flag*/, \ OPAL_DATATYPE_ ## TYPE ## SIZE /*id*/, \ (((uint32_t)1)<<(OPAL_DATATYPE_ ## TYPE ## SIZE)) /*bdt_used*/, \ SIZE /*size*/, \ 0 /*true_lb*/, SIZE /*true_ub*/, 0 /*lb*/, SIZE /*ub*/, \ (ALIGN) /*align*/, \ 1 /*nbElems*/, \ OPAL_DATATYPE_INIT_NAME(TYPE ## SIZE) /*name*/, \ OMPI_DATATYPE_INIT_DESC_PREDEFINED(TYPE, SIZE) /*desc*/, \ OMPI_DATATYPE_INIT_DESC_PREDEFINED(TYPE, SIZE) /*opt_desc*/, \ OPAL_DATATYPE_INIT_BTYPES_ARRAY_ ## TYPE ## SIZE /*btypes*/ \ #define OMPI_DATATYPE_INIT_DESC_PREDEFINED(TYPE, SIZE) \ { \ 1 /*length*/, 1 /*used*/, \ &(ompi_datatype_predefined_elem_desc[2 * OPAL_DATATYPE_ ## TYPE ## SIZE]) /*desc*/ \ } int32_t ompi_datatype_init( void ) { int32_t i; for( i = 0; i < OMPI_DATATYPE_MPI_MAX_PREDEFINED; i++ ) { ompi_datatype_t* datatype = (ompi_datatype_t*)ompi_datatype_basicDatatypes[i]; dt_elem_desc_t* pDesc; if( 0 == datatype->super.size ) continue; /** * Most of the OMPI datatypes have been initialized with the basic desc of the * OPAL datatypes. Thus don't modify the desc, instead rebase the desc back into * the OMPI predefined_elem_desc and update the fields there. */ pDesc = &ompi_datatype_predefined_elem_desc[2 * i]; if( pDesc != datatype->super.desc.desc ) { memcpy(pDesc, datatype->super.desc.desc, 2 * sizeof(dt_elem_desc_t)); datatype->super.desc.desc = pDesc; } else { datatype->super.desc.desc[0].elem.common.flags = OPAL_DATATYPE_FLAG_PREDEFINED | OPAL_DATATYPE_FLAG_DATA | OPAL_DATATYPE_FLAG_CONTIGUOUS | OPAL_DATATYPE_FLAG_NO_GAPS; datatype->super.desc.desc[0].elem.common.type = i; .... ---------------------------------------------------------------- Do you intend to it goes to the else-block in ompi_datatype_init for Fortran datatypes? If so, we should use an OMPI index in OMPI_DATATYPE_INIT_DESC_PREDEFINED. But in the else-block, desc[0].elem.common.type is set to an OMPI datatype index. And it seems that this 'type' is treated as an OPAL datatype index in other parts. # OMPI_DATATYPE_MPI_CHARACTER and OPAL_DATATYPE_COMPLEX8 has # same value (0x13) but how to distinguish them? I wonder whether Fortran datatypes really need separate desc. Though OPAL does not have *identical* datatypes, it always has *corresponding* datatypes. It is obvious because we currently translate an OMPI Fortran datatype to a corresponding OPAL datatype index in OMPI_DATATYPE_INIT_DESC_PREDEFINED as "OPAL_DATATYPE_ ## TYPE ## SIZE". If Fortran datatypes don't need separate desc, this issue may be fixed by my attached datatype-init-1.patch. It also fixes the opt_desc issue described first. Furthermore, do we need to copy desc for OMPI datatypes? If not, use my attached datatype-init-2.patch instead. It don't copy desc and OMPI desc points OPAL desc. I'm not sure this is a correct solution. The attached result-after.txt is the output of the attached show_ompi_datatype.c with my patch. I think this output is correct. Regards, Takahiro Kawashima, MPI development team, Fujitsu > Takahiro, > > Nice catch, I really wonder how this one survived for soo long. I pushed a > patch in r28535 addressing this issue. It is not the best solution, but it > provide an easy way to address the issue. > > A little bit of history. A datatype is composed by (let's keep it short) 2 > component, a high-level description containing among others the size and the > name of the datatype and a low level description (the desc_t part) containing > the basic predefined elements in the datatype. As most of the predefined > datatypes defined in the MPI layer are synonyms to some basic predefined > datatypes (such as the equivalent POSIX types MPI_INT32_T), the design of the > datatype allowed for the sharing of the desc_t part between datatypes. This > approach allows us to have similar datatypes (MPI_INT and MPI_INT32_T) with > different names but with the same backend internal description. However, when > we split the datatype engine in two, we duplicate this common description (in > OPAL and OMPI). The OMPI desc_t was pointing to OPAL desc_t for almost > everything … except the datatypes that were not defined by OPAL such as the > Fortran one. This turned the management of the common desc_t into a nightmare > … with the effect you noticed few days ago. Too bad for the optimization > part. I now duplicate the desc_t between the two layers, and all OMPI > datatypes have now their own desc_t. > > Thanks for finding and analyzing so deeply this issue. > George. > > > > > On May 16, 2013, at 12:04 , KAWASHIMA Takahiro <rivis.kawash...@nifty.com> > wrote: > > > Hi, > > > > I'm reading the datatype code in Open MPI trunk and have a question. > > A bit long. > > > > See the following program. > > > > ---------------------------------------------------------------- > > #include <stdio.h> > > #include <mpi.h> > > > > struct opal_datatype_t; > > extern int opal_init(int *pargc, char ***pargv); > > extern int opal_finalize(void); > > extern void opal_datatype_dump(struct opal_datatype_t *type); > > extern struct opal_datatype_t opal_datatype_int8; > > > > int main(int argc, char **argv) > > { > > opal_init(NULL, NULL); > > opal_datatype_dump(&opal_datatype_int8); > > MPI_Init(NULL, NULL); > > opal_datatype_dump(&opal_datatype_int8); > > MPI_Finalize(); > > opal_finalize(); > > return 0; > > } > > ---------------------------------------------------------------- > > > > All variables/functions declared as 'extern' are defined in OPAL. > > opal_datatype_dump() function outputs internal data of a datatype. > > I expect the same output on two opal_datatype_dump() calls. > > But when I run it on an x86_64 machine, I get the following output. > > > > ---------------------------------------------------------------- > > ompi-trunk/opal-datatype-dump && ompiexec -n 1 ompi-trunk/opal-datatype-dump > > [ppc.rivis.jp:27886] Datatype 0x600c60[OPAL_INT8] size 8 align 8 id 7 > > length 1 used 1 > > true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) > > nbElems 1 loops 0 flags 136 (commited contiguous )-cC---P-DB-[---][---] > > contain OPAL_INT8 > > --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) > > No optimized description > > > > [ppc.rivis.jp:27886] Datatype 0x600c60[OPAL_INT8] size 8 align 8 id 7 > > length 1 used 1 > > true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) > > nbElems 1 loops 0 flags 136 (commited contiguous )-cC---P-DB-[---][---] > > contain OPAL_INT8 > > --C---P-D--[---][---] count 1 disp 0x0 (0) extent 8 (size > > 8971008) > > No optimized description > > ---------------------------------------------------------------- > > > > The former output is what I expected. But the latter one is not > > identical to the former one and its content datatype has no name > > and a very large size. > > > > This line is output in opal_datatype_dump_data_desc() function in > > opal/datatype/opal_datatype_dump.c file. It refers > > opal_datatype_basicDatatypes[pDesc->elem.common.type]->name and > > opal_datatype_basicDatatypes[pDesc->elem.common.type]->size for > > the content datatype. > > > > In this case, pDesc->elem.common.type is > > opal_datatype_int8.desc.desc[0].elem.common.type and is initialized to 7 > > in opal_datatype_init() function in opal/datatype/opal_datatype_module.c > > file, which is called during opal_init() function. > > opal_datatype_int8.desc.desc points > > &opal_datatype_predefined_elem_desc[7*2]. > > > > But if we call MPI_Init() function, the value is overwritten. > > ompi_datatype_init() function in ompi/datatype/ompi_datatype_module.c > > file, which is called during MPI_Init() function, has similar > > procedure to initialize OMPI datatypes. > > > > On initializing ompi_mpi_aint in it, ompi_mpi_aint.dt.super.desc.desc > > points &opal_datatype_predefined_elem_desc[7*2], which is also pointed > > by opal_datatype_int8, because ompi_mpi_aint is defined by > > OMPI_DATATYPE_INIT_PREDEFINED_BASIC_TYPE macro and it uses > > OPAL_DATATYPE_INITIALIZER_INT8 macro. So > > opal_datatype_int8.desc.desc[0].elem.common.type is overwritten > > to 37. > > > > Therefore in the second opal_datatype_dump() function call in my > > program, opal_datatype_basicDatatypes[37] is accessed. > > But the array length of opal_datatype_basicDatatypes is 25. > > > > Summarize: > > > > static initializer: > > opal_datatype_predefined_elem_desc[25] = {{0, ...}, ...}; > > opal_datatype_int8.desc.desc = &opal_datatype_predefined_elem_desc[7*2]; > > ompi_mpi_aint.dt.super.desc.desc = > > &opal_datatype_predefined_elem_desc[7*2]; > > > > opal_init: > > opal_datatype_int8.desc.desc.elem.common.type = 7; > > > > MPI_Init: > > ompi_mpi_aint.dt.super.desc.desc.elem.common.type = 37; > > > > opal_datatype_dump: > > access to opal_datatype_predefined_elem_desc[37] > > > > While opal_datatype_dump() function might not be called from > > user's programs, breaking opal_datatype_predefined_elem_desc > > array in ompi_datatype_init() function is not good. > > > > Though the above is described for opal_datatype_int8 and ompi_mpi_aint, > > the same thing happens to other datatypes. > > > > Though I tried to fix this problem, I could not figure out the > > correct solution. > > > > - The first loop in ompi_datatype_init() function should be removed? > > But OMPI Fortran datatypes should be initialized in it? > > > > - All OMPI datatypes should point ompi_datatype_predefined_elem_desc > > array? But having same 'type' value in OPAL datatypes and OMPI > > datatypes is allowed?
[centos21:04346] Datatype 0x7fc49c9a9f40[MPI_INT8_T] id 1 size 1 align 1 opal_id 4 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT1 --C---P-D--[---][---] OPAL_INT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_INT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9aa140[MPI_UINT8_T] id 2 size 1 align 1 opal_id 9 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT1 --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9aa340[MPI_INT16_T] id 3 size 2 align 2 opal_id 5 length 1 used 1 true_lb 0 true_ub 2 (true_extent 2) lb 0 ub 2 (extent 2) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT2 --C---P-D--[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 Optimized description --C---P-D--[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 [centos21:04346] Datatype 0x7fc49c9aa540[MPI_UINT16_T] id 4 size 2 align 2 opal_id 10 length 1 used 1 true_lb 0 true_ub 2 (true_extent 2) lb 0 ub 2 (extent 2) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT2 --C---P-D--[---][---] OPAL_UINT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 Optimized description --C---P-D--[---][---] OPAL_UINT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 [centos21:04346] Datatype 0x7fc49c9aa740[MPI_INT32_T] id 5 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9aa940[MPI_UINT32_T] id 6 size 4 align 4 opal_id 11 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT4 --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9aab40[MPI_INT64_T] id 7 size 8 align 8 opal_id 7 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9aad40[MPI_UINT64_T] id 8 size 8 align 8 opal_id 12 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT8 --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a4740[MPI_FLOAT] id 9 size 4 align 4 opal_id 15 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9a4940[MPI_DOUBLE] id 10 size 8 align 8 opal_id 16 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a4b40[MPI_LONG_DOUBLE] id 11 size 16 align 16 opal_id 18 length 1 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 1 disp 0x0 (0) extent 16 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description --C---P-D--[---][---] OPAL_FLOAT16 count 1 disp 0x0 (0) extent 16 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04346] Datatype 0x7fc49c9a9940[MPI_COMPLEX8] id 12 size 8 align 4 opal_id 0 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a9b40[MPI_COMPLEX16] id 13 size 16 align 8 opal_id 0 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04346] Datatype 0x7fc49c9a9d40[MPI_COMPLEX32] id 14 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags F223 (predefined )------P----[F77][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04346] Datatype 0x7fc49c9a4d40[MPI_WCHAR] id 15 size 4 align 4 opal_id 23 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 4336 (predefined )-cC---P-DB-[ C ][ERR] contain OPAL_WCHAR --C---P-D--[---][---] OPAL_WCHAR count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_WCHAR count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9a4f40[MPI_PACKED] id 16 size 1 align 1 opal_id 9 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 336 (predefined )-cC---P-DB-[ERR][ERR] contain OPAL_UINT1 --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9a5140[MPI_BOOL] id 17 size 1 align 1 opal_id 22 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 8336 (predefined )-cC---P-DB-[CPP][ERR] contain OPAL_BOOL --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9a5940[MPI_LOGICAL] id 18 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags C336 (predefined )-cC---P-DB-[F77][ERR] contain OPAL_INT4 --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9a5b40[MPI_CHARACTER] id 19 size 1 align 1 opal_id 4 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags C336 (predefined )-cC---P-DB-[F77][ERR] contain OPAL_INT1 --C---P-D--[---][---] OPAL_UINT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 Optimized description --C---P-D--[---][---] OPAL_UINT2 count 1 disp 0x0 (0) extent 2 (size 2) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 2 [centos21:04346] Datatype 0x7fc49c9a5d40[MPI_INTEGER] id 20 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags D336 (predefined )-cC---P-DB-[F77][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9a5f40[MPI_REAL] id 21 size 4 align 4 opal_id 15 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags E336 (predefined )-cC---P-DB-[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_WCHAR count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 Optimized description --C---P-D--[---][---] OPAL_WCHAR count 1 disp 0x0 (0) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 4 [centos21:04346] Datatype 0x7fc49c9a6140[MPI_DOUBLE_PRECISION] id 22 size 8 align 8 opal_id 16 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags E336 (predefined )-cC---P-DB-[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9a6340[MPI_COMPLEX] id 23 size 8 align 4 opal_id 0 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a6540[MPI_DOUBLE_COMPLEX] id 24 size 16 align 8 opal_id 0 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04346] Datatype 0x7fc49c9a6740[MPI_LONG_DOUBLE_COMPLEX] id 25 size 32 align 16 opal_id 0 length 4 used 1 true_lb 0 true_ub 32 (true_extent 32) lb 0 ub 32 (extent 32) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 2 disp 0x0 (0) extent 16 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT16 count 2 disp 0x0 (0) extent 16 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 [centos21:04346] Datatype 0x7fc49c9a6f40[MPI_2INT] id 26 size 8 align 4 opal_id 31 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 5334 (predefined )-cC-----D--[ C ][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a7540[MPI_2INTEGER] id 27 size 8 align 4 opal_id 32 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags D334 (predefined )-cC-----D--[F77][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a7740[MPI_2REAL] id 28 size 8 align 4 opal_id 33 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a7940[MPI_2DBLPREC] id 29 size 16 align 8 opal_id 34 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04346] Datatype 0x7fc49c9a7b40[MPI_2COMPLEX] id 30 size 16 align 4 opal_id 35 length 4 used 3 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 4 loops 2 flags F334 (predefined )-cC-----D--[F77][CPL] contain OPAL_FLOAT4 --C--------[---][---] OPAL_LOOP 2 times the next 2 elements extent 8 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) --C--------[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 8 -------G---[---][---] OPAL_END_LOOP prev 3 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 16 disp 0x0 (0) extent 1 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04346] Datatype 0x7fc49c9a7d40[MPI_2DOUBLE_COMPLEX] id 31 size 32 align 8 opal_id 36 length 4 used 3 true_lb 0 true_ub 32 (true_extent 32) lb 0 ub 32 (extent 32) nbElems 4 loops 2 flags F334 (predefined )-cC-----D--[F77][CPL] contain OPAL_FLOAT8 --C--------[---][---] OPAL_LOOP 2 times the next 2 elements extent 16 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) --C--------[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 16 -------G---[---][---] OPAL_END_LOOP prev 3 elements first elem displacement 0 size of data 32 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 32 disp 0x0 (0) extent 1 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 [centos21:04346] Datatype 0x7fc49c9a6940[MPI_FLOAT_INT] id 32 size 8 align 4 opal_id 0 length 3 used 2 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 4334 (predefined )-cC-----D--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 8 disp 0x0 (0) extent 1 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9a6b40[MPI_DOUBLE_INT] id 33 size 12 align 8 opal_id 0 length 3 used 2 true_lb 0 true_ub 12 (true_extent 12) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags 4314 (predefined )-cC----GD--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x8 (8) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 12 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 12 disp 0x0 (0) extent 1 (size 12) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 12 [centos21:04346] Datatype 0x7fc49c9a6d40[MPI_LONG_DOUBLE_INT] id 34 size 20 align 16 opal_id 0 length 3 used 2 true_lb 0 true_ub 20 (true_extent 20) lb 0 ub 32 (extent 32) nbElems 2 loops 0 flags 4314 (predefined )-cC----GD--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 1 disp 0x0 (0) extent 16 (size 16) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x10 (16) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 20 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 20 disp 0x0 (0) extent 1 (size 20) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 20 [centos21:04346] Datatype 0x7fc49c9a7340[MPI_LONG_INT] id 35 size 12 align 8 opal_id 0 length 3 used 2 true_lb 0 true_ub 12 (true_extent 12) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags 5314 (predefined )-cC----GD--[ C ][INT] contain OPAL_INT4 OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x8 (8) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 12 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 12 disp 0x0 (0) extent 1 (size 12) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 12 [centos21:04346] Datatype 0x7fc49c9a7140[MPI_SHORT_INT] id 36 size 6 align 4 opal_id 0 length 3 used 2 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 5304 (predefined )-c-----GD--[ C ][INT] contain OPAL_INT2 OPAL_INT4 --C---P-D--[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 6 Optimized description -cC---P-DB-[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) -cC---P-DB-[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 6 [centos21:04346] Datatype 0x7fc49c9aaf40[MPI_AINT] id 37 size 8 align 8 opal_id 7 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9ab140[MPI_OFFSET] id 38 size 8 align 8 opal_id 12 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT8 --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04346] Datatype 0x7fc49c9ab340[MPI_BOOL] id 17 size 1 align 1 opal_id 22 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 4336 (predefined )-cC---P-DB-[ C ][ERR] contain OPAL_BOOL --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 Optimized description --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 1 [centos21:04346] Datatype 0x7fc49c9ab540[MPI_COMPLEX] id 23 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04346] Datatype 0x7fc49c9ab740[MPI_COMPLEX] id 23 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04346] Datatype 0x7fc49c9ab940[MPI_DOUBLE_COMPLEX] id 24 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04346] Datatype 0x7fc49c9abb40[MPI_LONG_DOUBLE_COMPLEX] id 25 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04346] Datatype 0x7fc49c9a2b40[MPI_LB] id 44 size 0 align 0 opal_id 2 length 0 used 0 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 222 (predefined )------P----[ERR][ERR] contain OPAL_LB No optimized description [centos21:04346] Datatype 0x7fc49c9a2d40[MPI_UB] id 45 size 0 align 0 opal_id 3 length 0 used 0 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 222 (predefined )------P----[ERR][ERR] contain OPAL_UB No optimized description
[centos21:04274] Datatype 0x7f1a0900b040[MPI_INT8_T] id 1 size 1 align 1 opal_id 4 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT1 --C---P-D--[---][---] OPAL_INT1 count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a0900b240[MPI_UINT8_T] id 2 size 1 align 1 opal_id 9 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT1 --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a0900b440[MPI_INT16_T] id 3 size 2 align 2 opal_id 5 length 1 used 1 true_lb 0 true_ub 2 (true_extent 2) lb 0 ub 2 (extent 2) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT2 --C---P-D--[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) No optimized description [centos21:04274] Datatype 0x7f1a0900b640[MPI_UINT16_T] id 4 size 2 align 2 opal_id 10 length 1 used 1 true_lb 0 true_ub 2 (true_extent 2) lb 0 ub 2 (extent 2) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT2 --C---P-D--[---][---] OPAL_UINT2 count 1 disp 0x0 (0) extent 2 (size 2) No optimized description [centos21:04274] Datatype 0x7f1a0900b840[MPI_INT32_T] id 5 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a0900ba40[MPI_UINT32_T] id 6 size 4 align 4 opal_id 11 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT4 --C---P-D--[---][---] OPAL_UINT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a0900bc40[MPI_INT64_T] id 7 size 8 align 8 opal_id 7 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a0900be40[MPI_UINT64_T] id 8 size 8 align 8 opal_id 12 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT8 --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a09005840[MPI_FLOAT] id 9 size 4 align 4 opal_id 15 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a09005a40[MPI_DOUBLE] id 10 size 8 align 8 opal_id 16 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a09005c40[MPI_LONG_DOUBLE] id 11 size 16 align 16 opal_id 18 length 1 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 1 loops 0 flags 6336 (predefined )-cC---P-DB-[ C ][FLT] contain OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 1 disp 0x0 (0) extent 16 (size 16) No optimized description [centos21:04274] Datatype 0x7f1a0900aa40[MPI_COMPLEX8] id 12 size 8 align 4 opal_id 0 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a0900ac40[MPI_COMPLEX16] id 13 size 16 align 8 opal_id 0 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04274] Datatype 0x7f1a0900ae40[MPI_COMPLEX32] id 14 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags F223 (predefined )------P----[F77][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04274] Datatype 0x7f1a09005e40[MPI_WCHAR] id 15 size 4 align 4 opal_id 23 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags 4336 (predefined )-cC---P-DB-[ C ][ERR] contain OPAL_WCHAR --C---P-D--[---][---] OPAL_WCHAR count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a09006040[MPI_PACKED] id 16 size 1 align 1 opal_id 9 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 336 (predefined )-cC---P-DB-[ERR][ERR] contain OPAL_UINT1 --C---P-D--[---][---] OPAL_UINT1 count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a09006240[MPI_BOOL] id 17 size 1 align 1 opal_id 22 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 8336 (predefined )-cC---P-DB-[CPP][ERR] contain OPAL_BOOL --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a09006a40[MPI_LOGICAL] id 18 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags C336 (predefined )-cC---P-DB-[F77][ERR] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a09006c40[MPI_CHARACTER] id 19 size 1 align 1 opal_id 4 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags C336 (predefined )-cC---P-DB-[F77][ERR] contain OPAL_INT1 --C---P-D--[---][---] OPAL_INT1 count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a09006e40[MPI_INTEGER] id 20 size 4 align 4 opal_id 6 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags D336 (predefined )-cC---P-DB-[F77][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a09007040[MPI_REAL] id 21 size 4 align 4 opal_id 15 length 1 used 1 true_lb 0 true_ub 4 (true_extent 4) lb 0 ub 4 (extent 4) nbElems 1 loops 0 flags E336 (predefined )-cC---P-DB-[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) No optimized description [centos21:04274] Datatype 0x7f1a09007240[MPI_DOUBLE_PRECISION] id 22 size 8 align 8 opal_id 16 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags E336 (predefined )-cC---P-DB-[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a09007440[MPI_COMPLEX] id 23 size 8 align 4 opal_id 0 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a09007640[MPI_DOUBLE_COMPLEX] id 24 size 16 align 8 opal_id 0 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04274] Datatype 0x7f1a09007840[MPI_LONG_DOUBLE_COMPLEX] id 25 size 32 align 16 opal_id 0 length 4 used 1 true_lb 0 true_ub 32 (true_extent 32) lb 0 ub 32 (extent 32) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 2 disp 0x0 (0) extent 16 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT16 count 2 disp 0x0 (0) extent 16 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 [centos21:04274] Datatype 0x7f1a09008040[MPI_2INT] id 26 size 8 align 4 opal_id 31 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 5334 (predefined )-cC-----D--[ C ][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a09008640[MPI_2INTEGER] id 27 size 8 align 4 opal_id 32 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags D334 (predefined )-cC-----D--[F77][INT] contain OPAL_INT4 --C---P-D--[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_INT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a09008840[MPI_2REAL] id 28 size 8 align 4 opal_id 33 length 4 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a09008a40[MPI_2DBLPREC] id 29 size 16 align 8 opal_id 34 length 4 used 1 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags E334 (predefined )-cC-----D--[F77][FLT] contain OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04274] Datatype 0x7f1a09008c40[MPI_2COMPLEX] id 30 size 16 align 4 opal_id 35 length 4 used 3 true_lb 0 true_ub 16 (true_extent 16) lb 0 ub 16 (extent 16) nbElems 4 loops 2 flags F334 (predefined )-cC-----D--[F77][CPL] contain OPAL_FLOAT4 --C--------[---][---] OPAL_LOOP 2 times the next 2 elements extent 8 --C---P-D--[---][---] OPAL_FLOAT4 count 2 disp 0x0 (0) extent 4 (size 8) --C--------[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 8 -------G---[---][---] OPAL_END_LOOP prev 3 elements first elem displacement 0 size of data 16 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 16 disp 0x0 (0) extent 1 (size 16) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 16 [centos21:04274] Datatype 0x7f1a09008e40[MPI_2DOUBLE_COMPLEX] id 31 size 32 align 8 opal_id 36 length 4 used 3 true_lb 0 true_ub 32 (true_extent 32) lb 0 ub 32 (extent 32) nbElems 4 loops 2 flags F334 (predefined )-cC-----D--[F77][CPL] contain OPAL_FLOAT8 --C--------[---][---] OPAL_LOOP 2 times the next 2 elements extent 16 --C---P-D--[---][---] OPAL_FLOAT8 count 2 disp 0x0 (0) extent 8 (size 16) --C--------[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 16 -------G---[---][---] OPAL_END_LOOP prev 3 elements first elem displacement 0 size of data 32 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 32 disp 0x0 (0) extent 1 (size 32) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 32 [centos21:04274] Datatype 0x7f1a09007a40[MPI_FLOAT_INT] id 32 size 8 align 4 opal_id 0 length 3 used 2 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 4334 (predefined )-cC-----D--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT4 --C---P-D--[---][---] OPAL_FLOAT4 count 1 disp 0x0 (0) extent 4 (size 4) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 8 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 8 disp 0x0 (0) extent 1 (size 8) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 8 [centos21:04274] Datatype 0x7f1a09007c40[MPI_DOUBLE_INT] id 33 size 12 align 8 opal_id 0 length 3 used 2 true_lb 0 true_ub 12 (true_extent 12) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags 4314 (predefined )-cC----GD--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT8 --C---P-D--[---][---] OPAL_FLOAT8 count 1 disp 0x0 (0) extent 8 (size 8) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x8 (8) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 12 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 12 disp 0x0 (0) extent 1 (size 12) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 12 [centos21:04274] Datatype 0x7f1a09007e40[MPI_LONG_DOUBLE_INT] id 34 size 20 align 16 opal_id 0 length 3 used 2 true_lb 0 true_ub 20 (true_extent 20) lb 0 ub 32 (extent 32) nbElems 2 loops 0 flags 4314 (predefined )-cC----GD--[ C ][ERR] contain OPAL_INT4 OPAL_FLOAT16 --C---P-D--[---][---] OPAL_FLOAT16 count 1 disp 0x0 (0) extent 16 (size 16) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x10 (16) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 20 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 20 disp 0x0 (0) extent 1 (size 20) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 20 [centos21:04274] Datatype 0x7f1a09008440[MPI_LONG_INT] id 35 size 12 align 8 opal_id 0 length 3 used 2 true_lb 0 true_ub 12 (true_extent 12) lb 0 ub 16 (extent 16) nbElems 2 loops 0 flags 5314 (predefined )-cC----GD--[ C ][INT] contain OPAL_INT4 OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x8 (8) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 12 Optimized description -cC---P-DB-[---][---] OPAL_UINT1 count 12 disp 0x0 (0) extent 1 (size 12) -------G---[---][---] OPAL_END_LOOP prev 1 elements first elem displacement 0 size of data 12 [centos21:04274] Datatype 0x7f1a09008240[MPI_SHORT_INT] id 36 size 6 align 4 opal_id 0 length 3 used 2 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 2 loops 0 flags 5304 (predefined )-c-----GD--[ C ][INT] contain OPAL_INT2 OPAL_INT4 --C---P-D--[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) --C---P-D--[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 6 Optimized description -cC---P-DB-[---][---] OPAL_INT2 count 1 disp 0x0 (0) extent 2 (size 2) -cC---P-DB-[---][---] OPAL_INT4 count 1 disp 0x4 (4) extent 4 (size 4) -------G---[---][---] OPAL_END_LOOP prev 2 elements first elem displacement 0 size of data 6 [centos21:04274] Datatype 0x7f1a0900c040[MPI_AINT] id 37 size 8 align 8 opal_id 7 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_INT8 --C---P-D--[---][---] OPAL_INT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a0900c240[MPI_OFFSET] id 38 size 8 align 8 opal_id 12 length 1 used 1 true_lb 0 true_ub 8 (true_extent 8) lb 0 ub 8 (extent 8) nbElems 1 loops 0 flags 5336 (predefined )-cC---P-DB-[ C ][INT] contain OPAL_UINT8 --C---P-D--[---][---] OPAL_UINT8 count 1 disp 0x0 (0) extent 8 (size 8) No optimized description [centos21:04274] Datatype 0x7f1a0900c440[MPI_BOOL] id 17 size 1 align 1 opal_id 22 length 1 used 1 true_lb 0 true_ub 1 (true_extent 1) lb 0 ub 1 (extent 1) nbElems 1 loops 0 flags 4336 (predefined )-cC---P-DB-[ C ][ERR] contain OPAL_BOOL --C---P-D--[---][---] OPAL_BOOL count 1 disp 0x0 (0) extent 1 (size 1) No optimized description [centos21:04274] Datatype 0x7f1a0900c640[MPI_COMPLEX] id 23 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04274] Datatype 0x7f1a0900c840[MPI_COMPLEX] id 23 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04274] Datatype 0x7f1a0900ca40[MPI_DOUBLE_COMPLEX] id 24 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04274] Datatype 0x7f1a0900cc40[MPI_LONG_DOUBLE_COMPLEX] id 25 size 0 align 0 opal_id 24 length 1 used 1 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 7203 (predefined )------PG---[ C ][CPL] contain --C---P-D--[---][---]OPAL_UNAVAILABLE count 1 disp 0x0 (0) extent 0 (size 0) No optimized description [centos21:04274] Datatype 0x7f1a09003c40[MPI_LB] id 44 size 0 align 0 opal_id 2 length 0 used 0 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 222 (predefined )------P----[ERR][ERR] contain OPAL_LB No optimized description [centos21:04274] Datatype 0x7f1a09003e40[MPI_UB] id 45 size 0 align 0 opal_id 3 length 0 used 0 true_lb 0 true_ub 0 (true_extent 0) lb 0 ub 0 (extent 0) nbElems 1 loops 0 flags 222 (predefined )------P----[ERR][ERR] contain OPAL_UB No optimized description
#include <stdio.h> #include "mpi.h" /* ompi_datatype_internal.h/OMPI_DATATYPE_MPI_MAX_PREDEFINED */ #define OMPI_DATATYPE_MPI_MAX_PREDEFINED ((0x2E)+1) struct ompi_datatype_t; extern struct ompi_datatype_t *ompi_datatype_basicDatatypes[]; extern void ompi_datatype_dump(const struct ompi_datatype_t *datatype); int main(int argc, char *argv[]) { int i; int myrank; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myrank); if (0 == myrank) { for (i = 1; i < OMPI_DATATYPE_MPI_MAX_PREDEFINED-1; i++) { ompi_datatype_dump(ompi_datatype_basicDatatypes[i]); } } MPI_Finalize(); return 0; }
Index: ompi/datatype/ompi_datatype_internal.h =================================================================== --- ompi/datatype/ompi_datatype_internal.h (revision 28543) +++ ompi/datatype/ompi_datatype_internal.h (working copy) @@ -429,7 +429,7 @@ #define OMPI_DATATYPE_INIT_DESC_PREDEFINED(TYPE, SIZE) \ { \ 1 /*length*/, 1 /*used*/, \ - &(ompi_datatype_predefined_elem_desc[2 * OPAL_DATATYPE_ ## TYPE ## SIZE]) /*desc*/ \ + &(opal_datatype_predefined_elem_desc[2 * OPAL_DATATYPE_ ## TYPE ## SIZE]) /*desc*/ \ } /* Index: ompi/datatype/ompi_datatype_module.c =================================================================== --- ompi/datatype/ompi_datatype_module.c (revision 28543) +++ ompi/datatype/ompi_datatype_module.c (working copy) @@ -437,25 +437,9 @@ * the OMPI predefined_elem_desc and update the fields there. */ pDesc = &ompi_datatype_predefined_elem_desc[2 * i]; - if( pDesc != datatype->super.desc.desc ) { - memcpy(pDesc, datatype->super.desc.desc, 2 * sizeof(dt_elem_desc_t)); - datatype->super.desc.desc = pDesc; - } else { - datatype->super.desc.desc[0].elem.common.flags = OPAL_DATATYPE_FLAG_PREDEFINED | - OPAL_DATATYPE_FLAG_DATA | - OPAL_DATATYPE_FLAG_CONTIGUOUS | - OPAL_DATATYPE_FLAG_NO_GAPS; - datatype->super.desc.desc[0].elem.common.type = i; - datatype->super.desc.desc[0].elem.count = 1; - datatype->super.desc.desc[0].elem.disp = 0; - datatype->super.desc.desc[0].elem.extent = datatype->super.size; - - datatype->super.desc.desc[1].end_loop.common.flags = 0; - datatype->super.desc.desc[1].end_loop.common.type = OPAL_DATATYPE_END_LOOP; - datatype->super.desc.desc[1].end_loop.items = 1; - datatype->super.desc.desc[1].end_loop.first_elem_disp = datatype->super.desc.desc[0].elem.disp; - datatype->super.desc.desc[1].end_loop.size = datatype->super.size; - } + memcpy(pDesc, datatype->super.desc.desc, 2 * sizeof(dt_elem_desc_t)); + datatype->super.desc.desc = pDesc; + datatype->super.opt_desc.desc = pDesc; /* Check if the data contain gaps */ if( (datatype->super.ub - datatype->super.lb) != (OPAL_PTRDIFF_TYPE)datatype->super.size ) { datatype->super.desc.desc[0].elem.common.flags &= ~OPAL_DATATYPE_FLAG_NO_GAPS;
Index: ompi/datatype/ompi_datatype_internal.h =================================================================== --- ompi/datatype/ompi_datatype_internal.h (revision 28543) +++ ompi/datatype/ompi_datatype_internal.h (working copy) @@ -361,7 +361,6 @@ #endif -OMPI_DECLSPEC extern union dt_elem_desc ompi_datatype_predefined_elem_desc[2 * OMPI_DATATYPE_MPI_MAX_PREDEFINED]; extern const ompi_datatype_t* ompi_datatype_basicDatatypes[OMPI_DATATYPE_MPI_MAX_PREDEFINED]; /* There 3 types of predefined data types. @@ -429,7 +428,7 @@ #define OMPI_DATATYPE_INIT_DESC_PREDEFINED(TYPE, SIZE) \ { \ 1 /*length*/, 1 /*used*/, \ - &(ompi_datatype_predefined_elem_desc[2 * OPAL_DATATYPE_ ## TYPE ## SIZE]) /*desc*/ \ + &(opal_datatype_predefined_elem_desc[2 * OPAL_DATATYPE_ ## TYPE ## SIZE]) /*desc*/ \ } /* Index: ompi/datatype/ompi_datatype_module.c =================================================================== --- ompi/datatype/ompi_datatype_module.c (revision 28543) +++ ompi/datatype/ompi_datatype_module.c (working copy) @@ -35,7 +35,6 @@ /* by default the debuging is turned off */ int ompi_datatype_dfd = -1; -OMPI_DECLSPEC union dt_elem_desc ompi_datatype_predefined_elem_desc[2 * OMPI_DATATYPE_MPI_MAX_PREDEFINED]; /** * This is the number of predefined datatypes. It is different than the MAX_PREDEFINED @@ -425,43 +424,6 @@ { int32_t i; - for( i = 0; i < OMPI_DATATYPE_MPI_MAX_PREDEFINED; i++ ) { - ompi_datatype_t* datatype = (ompi_datatype_t*)ompi_datatype_basicDatatypes[i]; - dt_elem_desc_t* pDesc; - - if( 0 == datatype->super.size ) continue; - - /** - * Most of the OMPI datatypes have been initialized with the basic desc of the - * OPAL datatypes. Thus don't modify the desc, instead rebase the desc back into - * the OMPI predefined_elem_desc and update the fields there. - */ - pDesc = &ompi_datatype_predefined_elem_desc[2 * i]; - if( pDesc != datatype->super.desc.desc ) { - memcpy(pDesc, datatype->super.desc.desc, 2 * sizeof(dt_elem_desc_t)); - datatype->super.desc.desc = pDesc; - } else { - datatype->super.desc.desc[0].elem.common.flags = OPAL_DATATYPE_FLAG_PREDEFINED | - OPAL_DATATYPE_FLAG_DATA | - OPAL_DATATYPE_FLAG_CONTIGUOUS | - OPAL_DATATYPE_FLAG_NO_GAPS; - datatype->super.desc.desc[0].elem.common.type = i; - datatype->super.desc.desc[0].elem.count = 1; - datatype->super.desc.desc[0].elem.disp = 0; - datatype->super.desc.desc[0].elem.extent = datatype->super.size; - - datatype->super.desc.desc[1].end_loop.common.flags = 0; - datatype->super.desc.desc[1].end_loop.common.type = OPAL_DATATYPE_END_LOOP; - datatype->super.desc.desc[1].end_loop.items = 1; - datatype->super.desc.desc[1].end_loop.first_elem_disp = datatype->super.desc.desc[0].elem.disp; - datatype->super.desc.desc[1].end_loop.size = datatype->super.size; - } - /* Check if the data contain gaps */ - if( (datatype->super.ub - datatype->super.lb) != (OPAL_PTRDIFF_TYPE)datatype->super.size ) { - datatype->super.desc.desc[0].elem.common.flags &= ~OPAL_DATATYPE_FLAG_NO_GAPS; - } - } - /* Create the f2c translation table */ OBJ_CONSTRUCT(&ompi_datatype_f_to_c_table, opal_pointer_array_t); if( OPAL_SUCCESS != opal_pointer_array_init(&ompi_datatype_f_to_c_table,