Re: [mpich-discuss] bug report: MPI_LB and MPI_UB used in MPI_Type_create_subarray
I have created a ticket for this. http://trac.mpich.org/projects/mpich/ticket/2220 Rajeev On Jan 15, 2015, at 5:32 PM, Wei-keng Liao <[email protected]> wrote:
After a discussion with Rajeev and Rob, we found that the deprecated MPI_LB and MPI_UB markers are still being used in the implementation of MPI_Type_create_subarray() and/or darray. These markers were mistakenly carried over in MPI_Type_create_struct() causing an incorrect lower bound for the newly created datatype. A test program that can reproduce the error is attached. Below is its description.
The test program tries to concatenate two data types. The first datatype is a contiguous space of 16 bytes at displacement 0. The second is a subarray type at displacement 32, named bodytype created by MPI_Type_create_subarray(). The global array is 5*nprocs integers and subarray is of size 5 integers.
The two types were concatenated by MPI_Type_create_struct() to create a new datatype named ftype. Here is the stdout for running it on 1 process.
--- the stdout from both mpich and openmpi ---- HEADER_EXTENT = 16 VAR_BEGIN = 32 bodytype lb= 0 ub=20 extent=20 size=20 ftype lb=32 ub=52 extent=20 size=36 true_lb= 0 true_extent=52
[ 0]: 0 1 2 3 8 9 10 11 12 5 [10]: 6 7 8 13 14 15 16 17 10 11 [20]: 12 13 18 19 20 21 22
Problems: 1. ftype's lower bound should be 0. (mpich shows 32) 2. ftype's extent should be 52. (mpich shows 20) 3. packing 3 of ftypes to a contiguous array (27 integers) and its contents are incorrect. ps. explicitly resizing ftype with lb=0 and extent=52 produces correct packed results, though.
Wei-keng
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss <struct2.c>
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Thakur, Rajeev