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: Rolf vandeVaart (rolf.vandevaart_at_[hidden])
Date: 2010-08-26 09:22:39


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