[mpich-discuss] Cannot build mpich2-1.0.8p1 (nemesis) with PGI8.0-4 on Linux x86_64
Gus Correa
gus at ldeo.columbia.edu
Thu Apr 2 20:35:04 CDT 2009
Hi Dave, Pavan, Rajeev, list
Following your suggestion,
I tried to build mpich2-1.0.8p1 with the ch3:ssm
communication device and PGI compilers.
Unfortunately I've got an error also:
*******
pgcc -DHAVE_CONFIG_H -I.
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I../../../include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/include -DNDEBUG -O2
-tp shanghai-64 -fast -Mfprelaxed -DUSE_PROCESS_LOCKS
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/ch3/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/common/datatype
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/datatype
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/ch3/channels/ssm/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/ch3/channels/ssm/include
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/common/sock
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/sock
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/build_pgi-8.0-4_ssm/src/mpid/common/sock/poll
-I/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/sock/poll
-c
/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks/mpidu_process_locks.c
PGC-F-0249-#error -- Cannot define atomic set flag if zero operation;
needed for busy locks
(/home/swinst/mpich2/1.0.8p1/mpich2-1.0.8p1/src/mpid/common/locks/mpidu_process_locks.h:
174)
PGC/x86-64 Linux 8.0-4: compilation aborted
make[4]: *** [mpidu_process_locks.o] Error 2
************
For now I will use the hybrid build (Gnu gcc/g++ and PGI pgf90),
to compile programs that behave better with PGI Fortran than
with other compilers.
In case this is useful information for you,
for a possible comparison between the configure scripts,
I could build MVAPICH2 (mvapich2-1.2p1)
with PGI compilers (pgcc, pgcpp, pgf90) on the same computer.
Thank you for all the help.
Gus Correa
---------------------------------------------------------------------
Gustavo Correa
Lamont-Doherty Earth Observatory - Columbia University
Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------
Pavan Balaji wrote:
> Gus,
>
>> In addition, a number of codes we run here require more than
>> 8 processes, and will use more than one node at a time,
>> which cannot be done with ch3:ssm.
>
> ssm is sock+shm, i.e., inter-node and intra-node. It's not as optimized
> as nemesis, but should be close.
>
>> It is also a matter of convenience, otherwise I would have to
>> keep MPICH2 builds for ch3:ssm, ch3:sock, and ch3:nemesis,
>> which combined with different compilers (Gnu, Intel, PGI, and
>> hybrid compiler mixes) would give me too large a number of
>> libraries to build and maintain.
>
> Yes, this is a problem.
>
> Here's something more to look forward to in mpich2-1.1 --- we've
> added/improved/fixed multiple weak symbol support that allows you to
> build MPICH2 with one compiler and the application with a different
> compiler (e.g., just build MPICH2 with Intel and have different mpicc
> wrappers called mpicc-gcc mpicc-icc mpicc-pgcc); this will work only for
> C and Fortran, though.
>
> -- Pavan
>
More information about the mpich-discuss
mailing list