Re: [mpich-discuss] MPI_Barrier segmentation fault
Eric, Thanks for the analysis. I confirmed your observations with Intel and GNU compilers. Also, I looked through the code, but I haven't found other instances of the wrong attribute placement. We plan to include this patch in a 3.2.x bug fix release. Note that this problem does not concern the master branch. The new code decouples the request structure definition (and its alignment) and the typedef declaration, which results in a correct alignment. Regards, --Halim www.mcs.anl.gov/~aamer On 5/27/16 5:57 PM, Eric A. Borisch wrote:
I believe that this line: (src/include/mpiimpl.h:1531)
} MPID_Request ATTRIBUTE((__aligned__(32)));
needs to be this:
} ATTRIBUTE((__aligned__(32))) MPID_Request;
From the GCC docs, the attribute needs to be just after the closing brace.
As it is, it aligns single MPID_Request objects to be on a 32-byte boundary, but it does make the sizeof(MPID_Request) a multiple of 32.
This, in combination with the compiler optimizing for the advertised-to-be-aligned singleton object with a movaps instruction causes the crash. Changing the above line and re-compiling mpich fixes the issue.
There may be other instances of this issue in the codebase; I did not search...
- Eric
On Fri, May 27, 2016 at 12:42 AM, Ben Whale <[email protected]> wrote:
Ha! Sorry didn’t spot your previous email about XCode. Thanks for the hard work
I’ve had issues with XCode updates in the past. In the mean time while this is fixed I’ll try building with an old version.
Ben
discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Halim Amer