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
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
--
Paul H. Hargrove phhargr...@lbl.gov
Future Technologies Group
HPC Research Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900