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-25 18:53:54


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
>

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