Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] compiler_args in wrapper-data.txt files with Portland Group Compilers
From: Wayne Gilmore (waygil_at_[hidden])
Date: 2009-02-23 14:42:35


I sent this to the users mailing list buy maybe this is a better place
for it. Can anyone help with this??

I'm trying to use the compiler_args field in the wrappers script to deal
with 32 bit compiles on our cluster.

I'm using Portland Group compilers and use the following for 32 bit
builds: -tp p7

I've created a separate stanza in the wrapper but I am not able to use
the whole option "-tp p7" for the compiler_args. It only works if I do
compiler_args=p7

Is there a way to provide compiler_args with arguments that contain a
space?

This would eliminate cases where 'p7' would appear elsewhere in the
compile line and be falsely recognized as a 32 bit build.

Here is some additional information from my build:

For a regular 64 bit build:
(no problems here, works fine)

katana:~ % mpicc --showme
pgcc -D_REENTRANT
-I/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include
-Wl,-rpath
-Wl,/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib
-L/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib
-lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil
-lpthread -ldl

For a 32 bit build when compiler_args is set to "-tp p7" in the wrapper:
(note that in this case is does not pick up the lib32 and include32 dirs)

katana:share/openmpi % mpicc -tp p7 --showme
pgcc -D_REENTRANT
-I/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include
-tp p7 -Wl,-rpath
-Wl,/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib
-L/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib
-lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil
-lpthread -ldl

For a 32 bit build when compiler_args is set to "p7" in the wrapper
(note that in this case it does pick up the lib32 and include32 dirs)

katana:share/openmpi % mpicc -tp p7 --showme
pgcc -D_REENTRANT
-I/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include32

-I/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include32

-tp p7 -Wl,-rpath
-Wl,/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib32
-L/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib32
-lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil
-lpthread -ldl

Here's the mpicc-wrapper-data.txt file that I am using: (with
compiler_args set to "p7" only. This works, but if I set it to "-tp p7"
it fails to pick up the info in the stanza)

compiler_args=
project=Open MPI
project_short=OMPI
version=1.3
language=C
compiler_env=CC
compiler_flags_env=CFLAGS
compiler=pgcc
extra_includes=
preprocessor_flags=-D_REENTRANT
compiler_flags=
linker_flags=-Wl,-rpath
-Wl,/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib
libs=-lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl
-lutil -lpthread -ldl
required_file=
includedir=${includedir}
libdir=${libdir}

compiler_args=p7
project=Open MPI
project_short=OMPI
version=1.3
language=C
compiler_env=CC
compiler_flags_env=CFLAGS
compiler=pgcc
extra_includes=
preprocessor_flags=-D_REENTRANT
-I/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include32
compiler_flags=
linker_flags=-Wl,-rpath
-Wl,/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib32
libs=-lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl
-lutil -lpthread -ldl
required_file=
includedir=/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/include32
libdir=/project/scv/waygil/local/IT/ofedmpi-1.2.5.5/mpi/pgi/openmpi-1.3/lib32