[Pw_forum] AMD64 opteron pgi linker warning

Yingwen Song song at r6.dion.ne.jp
Wed Aug 11 16:12:14 CEST 2004


Hi, I am Yingwen Song @ The University of Tokyo.

I did not meet any problem by using the following make.sys on Opteron
246 CPU with PGI compiler (version 5.1.6).  Wish you good luck.


-- 
Yingwen Song <song at cello.t.u-tokyo.ac.jp>

---------------------make.sys START--------------------------------------------
# make.sys.  Generated from make.sys.in by configure.
CC             = pgcc
CCFLAGS        = -O3 -tp k8-64 -fast -Munroll -Mvect=sse -Mvect=assoc,cachesize:1048576 -Mcache_align -Kieee -Mvect=prefetch $(DFLAGS) $(IFLAGS)
# See include/defs.h.README for a list of precompilation options
# (possible arguments to -D or -U) and their meaning
DFLAGS         = -D__LINUX64 -D__PGI -D__FFTW -D__USE_INTERNAL_FFTW
IFLAGS         = -I. -I../include -I../Modules -I../PW -I../PH
CPP            = cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)
F77            = pgf77
F90            = pgf90
FFLAGS         = -fast -r8 -O3 -tp k8-64 -Munroll -Mvect=sse -Mvect=assoc,cachesize:1048576 -Mcache_align -Kieee -Mvect=prefetch
F77FLAGS       = $(FFLAGS) $(IFLAGS)
F90FLAGS       = $(FFLAGS) $(DFLAGS) $(IFLAGS)
F77FLAGS_NOOPT = -O0
LD             = pgf90
LDFLAGS        =  $(LIBOBJS) $(LIBS)
LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a
# LIBS must contain the location of all needed external libraries
LIBS           =  -llapack -lblas
# 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

---------------------make.sys END--------------------------------------------


On Wed, 11 Aug 2004 07:24:43 -0400 (EDT)
aaron at nemo.physics.ncsu.edu wrote:

> Hi all,
> 
> We are having a problem with a linker warning and spurious results in 
> cp.x.  The problem is described below, and was alluded to in the thread 
> dated Tue, 13 Apr 2004 for pw.x entitled "AMD64 and IFC ... and PGI":
> 
>        Having a terrible time compiling our application using pgi 
> compilers on
> AMD64 Opteron. Trying to compile just for single processor (no MPI) we
> get warnings like the following:
> 
> /usr/bin/ld: Warning: alignment 16 of symbol `timex_mod_1_' in modules.o 
> is smaller than 32 in cplib.o
> /usr/bin/ld: Warning: alignment 16 of symbol `cell_base_2_' in 
> ../Modules/cell_base.o is smaller than 32 in cplib.o
> /usr/bin/ld: Warning: alignment 16 of symbol `control_flags_2_' in 
> ../Modules/control_flags.o is smaller than 32 in cplib.o
> 
> /usr/bin/ld: Warning: alignment 16 of symbol `control_flags_0_' in 
> ../Modules/control_flags.o is smaller than 32 in cplib.o
> 
> /usr/bin/ld: Warning: alignment 16 of symbol `electrons_base_0_' in 
> ../Modules/electrons_base.o is smaller than 32 in cplib.o
> 
> The application builds and runs, however we get very unexpected results.
> Trying to clear warnings to eliminate unexpected results.
> We suspect misalignment may be giving incorrect numerical results.
> 
> We have tried -Mcache_align.
> 
> Are there other flags to set?
> 
> Here is our make.sys
> 
> # make.sys.  Generated from make.sys.in by configure.
> CC             = pgcc
> CCFLAGS        = -fast $(DFLAGS) $(IFLAGS)
> # See include/defs.h.README for a list of precompilation options
> # (possible arguments to -D or -U) and their meaning
> DFLAGS         = -D__LINUX64 -D__PGI -D__FFTW -D__USE_INTERNAL_FFTW
> IFLAGS         = -I. -I../include -I../Modules -I../PW -I../PH
> CPP            = cpp
> CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)
> F77            = pgf77
> F90            = pgf90
> FFLAGS         = -fast -r8
> F77FLAGS       = $(FFLAGS) $(IFLAGS)
> F90FLAGS       = $(FFLAGS) $(DFLAGS) $(IFLAGS)
> F77FLAGS_NOOPT = -O0
> LD             = pgf90
> LDFLAGS        =  $(LIBOBJS) $(LIBS)
> LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a
> # LIBS must contain the location of all needed external libraries
> LIBS           =  -llapack -lblas
> # 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
> 
> 
> 
> Please help!
> 
> Thanks in Advance,
> 
> Lee Atkinson, 
> 
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum






More information about the Pw_forum mailing list