Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] 1.5.5rc2 atomics fail w/ xlc-9
From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2012-02-24 21:54:37

OK, this is NOT an issue for v1.5.5, IMHO.
I was mistaken about the ppc atomics having an error that could impact
builds with gcc.
The problems I've seen with xlc-9.0 turn out to be just a plain xlc bug.

When the asm takes as an argument the address of a signed 32-bit int,
the compiler is incorrectly sign-extending the address (probably under
the mistaken belief that it is manipulating the pointed-to type). For
the ILP32 ABI that is not a problem. For the LP64 ABI, pointers get
trashed by this incorrect operation. The attached patch works-around
this bug by conditionally inserting a cast, and I believe it should
apply cleanly to both v1.5 branch (for v1.6) and to the trunk.


On 2/24/2012 5:46 PM, Paul H. Hargrove wrote:
> Hmm, I was certain I knew what was wrong, but the tests still fail.
> Nobody should hold their breath waiting for my patches, but I am still
> investigating.
> *IF* I can determine that I am right about the asm allowing gcc to
> generate bad code then I think this is important for 1.5.5.
> Otherwise, I think this is a 1.6 issue.
> -Paul
> On 2/24/2012 5:19 PM, Paul H. Hargrove wrote:
>> I see now why I get "check" failures from the opal atomics w/ XLC-9.0.
>> The inline asm is mildly incorrect and I am actually surprised gcc
>> didn't produce bad code.
>> Patch(es) will be sent ASAP as I think this should be fixed for 1.5.5.
>> -Paul
>> On 2/23/2012 8:24 PM, Paul H. Hargrove wrote:
>>> This is consistent with my findings w/ XLC (mostly on BG/L and BG/P
>>> front end nodes).
>>> None of the 7.0, 8.0, 9.0 or 11.1 versions of XLC I tested could
>>> generate correct atomics.
>>> They either failed at build time, or failed the tests in test/asm/.
>>> -Paul
>>> On 2/23/2012 8:17 PM, Christopher Samuel wrote:
>>>> Hash: SHA1
>>>> On 24/02/12 15:12, Christopher Samuel wrote:
>>>>> I suspect this is irrelevant, but I got a build failure trying to
>>>>> compile it on our BG/P front end node (login node) with the IBM XL
>>>>> compilers.
>>>> Oops, forgot how I built it..
>>>> export
>>>> PATH=/opt/ibmcmp/vac/bg/9.0/bin/:/opt/ibmcmp/vacpp/bg/9.0/bin:/opt/ibmcmp/xlf/bg/11.1/bin:$PATH
>>>> CC=xlc CXX=xlC F77=xlf ./configure&& make
>>>> - -- Christopher Samuel - Senior Systems Administrator
>>>> VLSCI - Victorian Life Sciences Computation Initiative
>>>> Email: samuel_at_[hidden] Phone: +61 (0)3 903 55545
>>>> -----BEGIN PGP SIGNATURE-----
>>>> Version: GnuPG v1.4.11 (GNU/Linux)
>>>> Comment: Using GnuPG with Mozilla -
>>>> rdcAni+dfEMhlqMzYMILn8jeS9yWlInu
>>>> =+rA4
>>>> -----END PGP SIGNATURE-----
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]

Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900