Hi Rob,
Thanks! Below is not exactly same issue/error but related :
While constructing derived datatype (filetype used for set_view), do we need displacements / offsets to be in ascending order?
I mean, suppose I am creating derived datatype using MPI_Type_create_hindexed (or mpi struct) with length/displacements as:
blocklengths[0] = 8;
blocklengths[1] = 231670;
blocklengths[2] = 116606;
displacements[0] = 0;
displacements[1] = 8;
displacements[2] = 231678;
Above displacements are in ascending order. Suppose I shuffle order bit:
blocklengths[0] = 8;
blocklengths[1] = 116606;
blocklengths[2] = 231670;
displacements[0] = 0;
displacements[1] = 231678;
displacements[2] = 8;
It's still the same but while specifying block-lengths/offsets I changed the order. (resultant file will have data in different oder but that's ignored here)
Isn't this a valid specification? This second example results in a segfault (in ADIO_GEN_WriteStrided / Coll).
I quickly wrote attached program, let me know if I have missed anything obvious here.
Regards,
Pramod
p.s. you can compile & run as:
Not working => mpicxx test.cpp && mpirun -n 2 ./a.out
Working =>. mpicxx test.cpp -DUSE_ORDER && mpirun -n 2 ./a.out