[Pw_forum] AMD64 and IFC ... and PGI

Giovanni Cangiani giovanni.cangiani at epfl.ch
Tue Apr 13 12:36:50 CEST 2004


Hi Ralph and all pw_forum,
	did you have the chance to try with pgi5.1 ?
If yes, did you get the same kind of errors ?

I could compile (=get a binary executable) both pw.x and ph.x 
with pgi5.1 (64bit mode) on opteron, but it seems that the 
problem is still there.
All tests from Example1 as well as the pw.x part of Example2 
are apparently working fine. On the other hand, ph.x 
tests from Example2 crash with segmentation fault. 
I am still playing with compilation flags because I could
not yet avoid strange alignment warning (see below) which might 
very well be the cause of the failure.
I attach my make.sys if you want to have a look.... once I will
find out a correct way to compile the code I promise to include
it in the configure.am file.

Thanks to all the pwscf team for the great job you are doing.
Best,
	giovanni

....
....
/usr/bin/ld: Warning: alignment 16 of symbol `g_psi_mod_0_' in
../PW/g_psi_mod.o is smaller t han 32 in ../PW/regterg.o
/usr/bin/ld: Warning: alignment 16 of symbol `berry_phase_0_' in
../Modules/berry_phase.o issmaller than 32 in ../PW/clean_pw.o
/usr/bin/ld: Warning: alignment 16 of symbol `bfgs_module_2_' in
../Modules/bfgs_module.o issmaller than 32 in ../PW/input.o
/usr/bin/ld: Warning: alignment 16 of symbol `control_flags_2_' in
../Modules/control_flags.o is smaller than 32 in add_dkmds.o
/usr/bin/ld: Warning: alignment 16 of symbol `control_flags_0_' in
../Modules/control_flags.o is smaller than 32 in add_dkmds.o
....
....

On Mon, 2004-02-02 at 15:38, Ralph Gebauer wrote:

> With pwscf and the pgi 5.0 compiler we are able to obtain
> a binary executable, however, that executable only works
> for very small systems. In bigger systems, the program
> crashes with segmentation faults, which result clearly from
> a compiler bug. This error is reproducable on a 32 bit
> compilation with the same pgi 5.0 compiler on a pentium 4,
> so it is not opteron related.
> 
> We will soon check pgi 5.1 and the absoft compilers. But up to now,
> we could not run pwscf properly on an opteron in 64 bit mode.
> 
> Ralph
> 
-------------- next part --------------
# make.sys.  Generated from make.sys.in by configure.
CC             = /usr/local/bin/gcc
CCFLAGS        = -O3 -m64 $(DFLAGS) $(IFLAGS)
# See include/machine.h.README for a list of precompilation options
# (possible arguments to -D or -U) and their meaning
#DFLAGS         = -D__LINUX64 -DHAS_ZHEGVX -D__FFTW -D__GNU_LINK -D__PGI
DFLAGS         = -D__LINUX64 -DHAS_ZHEGVX -D__FFTW -D__PGI
IFLAGS         = -I. -I../include -I../Modules -I../PW -I../PH 
CPP            = /lib/cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)
F77            = /opt/pgi/linux86-64/5.1/bin/pgf77
F90            = /opt/pgi/linux86-64/5.1/bin/pgf90
FFLAGS         = -tp k8-64 -fast -Mscalarsse -Mdalign -Mi4 $(IFLAGS) 
F77FLAGS       = $(FFLAGS)
F90FLAGS       = $(FFLAGS) $(DFLAGS)
F77FLAGS_NOOPT = -O0
LD             = /opt/pgi/linux86-64/5.1/bin/pgf90
LDFLAGS        =  $(LIBOBJS) $(LIBS)
LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a
# LIBS must contain the location of all needed external libraries
LAPACK = -llapack -lblas
#LAPACK = -L/usr/local/mathlib/gcc64/ -latlas_opteron
#LAPACK = -lacml -lpgmp -lpgc -L/usr/lib64 -lpthread
FFTW = -L/usr/lib64 -ldfftw
LIBS = $(LAPACK) $(FFTW)
# MYLIB can be one of the following (depending on LIBS):
# blas       : compile the local copy of blas routines
# lapack     : compile the local copy of lapack routines
# blas_and_lapack : all of the above - use this for a quick test
#              or if you don't have an optimized blas/lapack library
# lapack_ibm : compile only lapack routines not present in IBM ESSL
#              use this together with IBM ESSL
# lapack_t3e : compile only lapack routines not present in T3E scilib
#              use this together with T3E scilib
# lapack_mkl : compile only lapack routines not present in Intel MKL
#              use this together with Intel MKL
MYLIB          = 
AR             = ar
ARFLAGS        = ruv


More information about the users mailing list