Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Problem w/ documented SPARC/gcc flags (1.5rc5 and 1.4.3rc1)
From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2010-08-26 14:23:08


Rolf,

Thanks for looking into this issue. Can you explain for me why V8+ is
OK w/ the Sun C complier, but V9 is required w/ gcc? I am guessing that
one is an ABI flag and the other is a CPU flag, right?

-Paul

P.S.
The V8+ vs V9 ABI differences are described at
http://developers.sun.com/solaris/articles/sparcv9abi.html

Rolf vandeVaart wrote:
> I have dug a little more into this. I am now just planning to fix
> the README to match
> the configure message. In short, use CFLAGS="-mcpu=v9". It turns out
> this change
> was made in the configure code, but the README was never updated.
> This should
> work properly for all cases.
>
> Rolf
>
> On 8/25/2010 6:53 PM, Paul H. Hargrove wrote:
>> In the message below I fouled up some cut-and-paste.
>> Please mentally replace
>>
>> And have configured (again stopping after the Assembler ABI probe)
>> with gcc-4.3.3 AND Rolf's flags
>> CC=gcc-4.3.3 CXX=g++-4.3.3 CFLAGS=-mv8plus CC=gcc-4.3.3
>> CXX=g++-4.3.3 CFLAGS=-mv8plus
>>
>> with
>>
>> And have configured (again stopping after the Assembler ABI probe)
>> with gcc-4.3.3 AND Rolf's flags
>> CC=gcc-4.3.3 CXX=g++-4.3.3 CFLAGS="-mv8plus -Wa,-xarch=v8plus"
>> CXXFLAGS="-mv8plus -Wa,-xarch=v8plus"
>>
>> -Paul
>>
>>
>>
>> Paul H. Hargrove wrote:
>>> Trying Rolf's suggestion, I configure 1.4.3rc1 with
>>> CFLAGS="-mv8plus -Wa,-xarch=v8plus" CXXFLAGS="-mv8plus
>>> -Wa,-xarch=v8plus"
>>> I find that I get configure past the v8+/v9 Assembler ABI probe (but
>>> didn't wait for the full configure to run).
>>>
>>> Another datapoint in favor of #2 is that I can successfully build
>>> 1.4.3rc1 w/ gcc-4.3.3 when I configure with
>>> CC=gcc-4.3.3 CXX=g++-4.3.3 CFLAGS=-mv8plus CXXFLAGS=-mv8plus
>>> And have configured (again stopping after the Assembler ABI probe)
>>> with gcc-4.3.3 AND Rolf's flags
>>> CC=gcc-4.3.3 CXX=g++-4.3.3 CFLAGS=-mv8plus CC=gcc-4.3.3
>>> CXX=g++-4.3.3 CFLAGS=-mv8plus
>>>
>>> So, here is MY summary:
>>>
>>> + For gcc-4.3.3 README is providing correct information
>>> + For gcc-3.3.2 README is providing INcorrect information
>>> + For both gcc versions configure provides correct info on failure,
>>> but following it prevents using the V8+ ABI.
>>>
>>> My suggestion fix:
>>>
>>> + Edit README and configure both to suggest "-mv8plus
>>> -Wa,-xarch=v8plus" as that should be correct for either compiler
>>> version.
>>>
>>> -Paul
>>>
>>> Rolf vandeVaart wrote:
>>>> Paul, is it possible for you to try one more thing. Can you
>>>> reconfigure with
>>>>
>>>> CFLAGS="-mv8plus -Wa,-xarch=v8plus"
>>>>
>>>> I think this will get past the configure test as the configure test
>>>> is compiling a piece
>>>> of assembly, and for some reason, the -mv8plus is not finding its
>>>> way to the assembler.
>>>>
>>>> If that works, then we eliminate #2 on your list below, and have to
>>>> decide between
>>>> #1 and #3.
>>>> Rolf
>>>>
>>>> On 08/25/10 15:56, Paul H. Hargrove wrote:
>>>>> In both 1.5rc5 and 1.4.3rc1, README says:
>>>>> - Open MPI does not support the Sparc v8 CPU target, which is the
>>>>> default on Sun Solaris. The v8plus (32 bit) or v9 (64 bit)
>>>>> targets must be used to build Open MPI on Solaris. This can be
>>>>> done by including a flag in CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS,
>>>>> -xarch=v8plus for the Sun compilers, -mv8plus for GCC.
>>>>>
>>>>> However, the -mv8plus flag DOES NOT work for me.
>>>>> The following occurs for both 1.5rc5 and 1.4.3rc1:
>>>>>
>>>>> $ uname -a
>>>>> SunOS lem.lbl.gov 5.10 s10_69 sun4u sparc SUNW,Ultra-5_10
>>>>>
>>>>> $ gcc --version
>>>>> gcc (GCC) 3.3.2
>>>>> Copyright (C) 2003 Free Software Foundation, Inc.
>>>>> This is free software; see the source for copying conditions.
>>>>> There is NO
>>>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>>>> PURPOSE.
>>>>>
>>>>> $ [path_to]/configure --disable-mpi-f77 --disable-mpi-f90
>>>>> CFLAGS=-mv8plus CXXFLAGS=-mv8plus
>>>>> [...]
>>>>> *** Assembler
>>>>> [...]
>>>>> checking if have Sparc v8+/v9 support... no
>>>>> configure: WARNING: Sparc v8 target is not supported in this
>>>>> release of Open MPI.
>>>>> configure: WARNING: You must specify the target architecture v8plus
>>>>> configure: WARNING: (cc: -xarch=v8plus, gcc: -mcpu=v9) for CFLAGS,
>>>>> CXXFLAGS,
>>>>> configure: WARNING: FFLAGS, and FCFLAGS to compile Open MPI in 32
>>>>> bit mode on
>>>>> configure: WARNING: Sparc processors
>>>>> configure: error: Can not continue.
>>>>>
>>>>>
>>>>> Following the recommendation from configure:
>>>>> $ [path_to]/configure --disable-mpi-f77 --disable-mpi-f90
>>>>> CFLAGS=-mcpu=v9 CXXFLAGS=-mcpu=v9
>>>>> DOES work for both of the current RCs.
>>>>>
>>>>> So, I see a few possibilities:
>>>>>
>>>>> 1) -mv8plus SHOULD work (as -xarch=v8plus appears to w/ Suc C
>>>>> 5.10) but configure is unconditionally too strict.
>>>>> OR
>>>>> 2) My gcc is older than other have tested and configure is
>>>>> mistakenly thinking the ABI is wrong.
>>>>> OR
>>>>> 3) -mcpu=v9 is the proper incantation and README needs correction.
>>>>>
>>>>> No matter which of the above is correct, I suspect REAME and
>>>>> configure need to give the user the same information.
>>>>>
>>>>> -Paul
>>>>>
>>>>> P.S. I can provide temporary machine access if needed to resolve
>>>>> this.
>>>>> P.P.S. I am /still/ not finished testing all the platforms
>>>>> available to me ;-)
>>>>>
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
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