[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