[mpich-discuss] RMA calls with MPI Datatypes using structs

Palmer, Bruce J Bruce.Palmer at pnnl.gov
Wed May 25 10:40:12 CDT 2016


Hi,

I've been trying to implement code using MPI_Get and MPI_Put that move around data using MPI_Datatypes. If I create the data type using MPI_Type_create_subarray, everything works fine. If I create the data type using MPI_Type_create_struct then I get a failure if the amount of data I'm moving around becomes large.  At the moment the crossover point is moving a total of a million doubles on 8 cores (125000 doubles per core), which doesn't seem to be excessively large. The error I'm seeing on a Linux cluster using and Infiniband interconnect is

Assertion failed in file ./src/mpid/ch3/channels/nemesis/include/mpid_nem_inline.h at line 406
: MPID_NEM_MPICH_DATA_LEN - buf_offset >= ext_hdr_sz
internal ABORT - process 1

Note that the same code runs fine if the data type is created using the subarray call. It looks like some internal limit is being exceeded, but if so, I think the threshold may be set a bit on the low side. Does anyone know more about this?

Bruce Palmer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20160525/ce5803b4/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list