[AMBER] Compiling amber parallel

From: Dickson, Callum <callum.dickson09.imperial.ac.uk>
Date: Fri, 26 Oct 2012 15:11:18 +0000

Hi,

I am having some issues trying to compile the development version of amber12 parallel on the cluster at my university. I am able to compile the serial version, however I get an MPI related error when I then try to compile the parallel version. The configuration of amber12 parallel seems to proceed without a problem.

I am using intel compilers and intel MPI. Here is the exit output error when I try to compile:


FILE_SOURCE -DBINTRAJ -I/home/cd709/include -DMPI -I/apps/intel/2013/mkl/include -shared-intel \
    -o mdgx.MPI CompFrc.o BSpline.o Grid.o Random.o mdgxVector.o Matrix.o ChargeMap.o pmeRecip.o mleRecip.o pmeDirect.o CrdManip.o CellManip.o Topology.o Trajectory.o SpecialMath.o Nonbonded.o Bonded.o Parse.o Command.o Constraints.o Thermostats.o Barostats.o Integrator.o Timings.o Manual.o VirtualSites.o Buckingham.o ThermoDyn.o ChargeFit.o ParamFit.o Debug.o BroadcastCommand.o MPIMap.o MPITypeCast.o ptrajmask.o ../sff/AmberNetcdf.o mdgx.o -lfftw3 -L/home/cd709/amber12/lib -L/home/cd709/amber12/lib -lnetcdf -lm
/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPIR_Err_return_comm'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPIR_Grequest_set_lang_f77'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `b_use_gettimeofday'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPID_Wtick'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPIR_Err_create_code'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `i_malloc'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPIR_Keyval_set_fortran90'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `i_free'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPIR_Keyval_set_fortran'

/apps/intel/ict/mpi/3.1.038/lib/libmpigf.so: undefined reference to `MPID_Wtime_todouble'

make[2]: *** [mdgx.MPI] Error 1

make[2]: Leaving directory `/export71/home/cd709/amber12/AmberTools/src/mdgx'

make[1]: *** [parallel] Error 2

make[1]: Leaving directory `/export71/home/cd709/amber12/AmberTools/src'

make: *** [install] Error 2



The following are set:



$MPI_HOME to /apps/intel/ict/mpi/3.1.038


$LD_LIBRARY_PATH to /apps/intel/2013/mkl/lib/64:/apps/intel/2013/lib/64:/apps/intel/ict/mpi/3.1.038/lib:/home/cd709/amber12/lib


$PATH to /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/pbs/default/bin:/home/cd709/bin:/apps/intel/2013/bin:/apps/intel/ict/mpi/3.1.038/bin


(both mpicc and mpif90 are in /apps/intel/ict/mpi/3.1.038/bin)



Here is the output from the configuration step:



-bash-4.1$ ./configure -mpi intel

Checking for updates...

AmberTools13 is up to date

Amber13 is up to date

Searching for python2... Found python2.6: /usr/bin/python2.6

Detected icc version 13

Detected ifort version 13

Using Intel MKL libraries in /apps/intel/2013/mkl/lib/intel64

MKL Version 10 or 11 assumed.

Testing the icc compiler:

icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o testp testp.c

OK

Testing the ifort compiler:

ifort -O0 -o testp testp.f

OK

Testing mixed C/Fortran compilation:

icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -c -o testp.c.o testp.c

ifort -O0 -c -o testp.f.o testp.f

icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o testp testp.c.o testp.f.o -L/apps/intel/2013/lib/ -lifport -lifcore -lsvml

OK

Testing pointer size:

icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o test_pointer_size test_pointer_size.c

Detected 64 bit operating system.

Testing flex: OK

Configuring NetCDF (may be time-consuming)...

NetCDF configure succeeded.

Checking for zlib: OK

Checking for libbz2: OK

Configuring fftw-3.3 for mdgx (may be time-consuming)...

fftw-3.3 configure succeeded.

The configuration file, config.h, was successfully created.

The next step is to type 'make install'

Cleaning the src directories. This may take a few moments.

Configure complete.


Here is my config.h file:



# Amber configuration file, created with: ./configure -mpi intel

###############################################################################

# (1) Location of the installation

BASEDIR=/home/cd709/amber12

BINDIR=/home/cd709/amber12/bin

LIBDIR=/home/cd709/amber12/lib

INCDIR=/home/cd709/amber12/include

DATDIR=/home/cd709/amber12/dat

LOGDIR=/home/cd709/amber12/logs

###############################################################################

# (2) If you want to search additional libraries by default, add them

# to the FLIBS variable here. (External libraries can also be linked into

# NAB programs simply by including them on the command line; libraries

# included in FLIBS are always searched.)

FLIBS= -lsff_mpi -lpbsa -lfftw3 -larpack -L/home/cd709/lib -L$(BASEDIR)/lib -

lnetcdf -Wl,--start-group /apps/intel/2013/mkl/lib/intel64/libmkl_intel_lp64.a /

apps/intel/2013/mkl/lib/intel64/libmkl_sequential.a /apps/intel/2013/mkl/lib/int

el64/libmkl_core.a -Wl,--end-group -lpthread -L/apps/intel/2013/lib/ -lifport -l

ifcore -lsvml

FLIBS_PTRAJ= -larpack -L/home/cd709/lib -Wl,--start-group /apps/intel/2013/mkl/

lib/intel64/libmkl_intel_lp64.a /apps/intel/2013/mkl/lib/intel64/libmkl_sequenti

al.a /apps/intel/2013/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -L

/apps/intel/2013/lib/ -lifport -lifcore -lsvml

FLIBSF= -larpack -L/home/cd709/lib -Wl,--start-group /apps/intel/2013/mkl/lib/i

ntel64/libmkl_intel_lp64.a /apps/intel/2013/mkl/lib/intel64/libmkl_sequential.a

/apps/intel/2013/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lsvml

FLIBS_FFTW3= -lfftw3

###############################################################################

# (3) Modify any of the following if you need to change, e.g. to use gcc

# rather than cc, etc.

SHELL=/bin/sh

INSTALLTYPE=parallel

BUILDAMBER=amber

# Set the C compiler, etc.

# The configure script should be fine, but if you need to hand-edit,

# here is some info:

# Example: CC-->gcc; LEX-->flex; YACC-->yacc (built in byacc)

# Note: If your lexer is "really" flex, you need to set

# LEX=flex below. For example, on some distributions,

# /usr/bin/lex is really just a pointer to /usr/bin/flex,

# so LEX=flex is necessary. In general, gcc seems to need flex.

# The compiler flags CFLAGS and CXXFLAGS should always be used.

# By contrast, *OPTFLAGS and *NOOPTFLAGS will only be used with

# certain files, and usually at compile-time but not link-time.

# Where *OPTFLAGS and *NOOPTFLAGS are requested (in Makefiles,

# makedepend and depend), they should come before CFLAGS or

# CXXFLAGS; this allows the user to override *OPTFLAGS and

# *NOOPTFLAGS using the BUILDFLAGS variable.

#

CC=mpicc

CFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DBINTRAJ -I/home/cd709/inclu

de -DMPI $(CUSTOMBUILDFLAGS) -I/apps/intel/2013/mkl/include

CNOOPTFLAGS=

COPTFLAGS=-ip -O3 -xHost -DBINTRAJ -DHASGZ -DHASBZ2

AMBERCFLAGS= $(AMBERBUILDFLAGS)

CXX=icpc

CPLUSPLUS=icpc

CXXFLAGS= -DMPI $(CUSTOMBUILDFLAGS)

CXXNOOPTFLAGS=

CXXOPTFLAGS=-O3

AMBERCXXFLAGS= $(AMBERBUILDFLAGS)

NABFLAGS=

PBSAFLAG=

LDFLAGS=-shared-intel $(CUSTOMBUILDFLAGS)

AMBERLDFLAGS=$(AMBERBUILDFLAGS)

LEX= flex

YACC= $(BINDIR)/yacc

AR= ar rv

M4= m4

RANLIB=ranlib

# Set the C-preprocessor. Code for a small preprocessor is in

# ucpp-1.3; it gets installed as $(BINDIR)/ucpp;

# this can generally be used (maybe not on 64-bit machines like altix).

CPP= ucpp -l

# These variables control whether we will use compiled versions of BLAS

# and LAPACK (which are generally slower), or whether those libraries are

# already available (presumably in an optimized form).

LAPACK=skip

BLAS=skip

F2C=skip

# These variables determine whether builtin versions of certain components

# can be used, or whether we need to compile our own versions.

UCPP=install

C9XCOMPLEX=skip

# For Windows/cygwin, set SFX to ".exe"; for Unix/Linux leave it empty:

# Set OBJSFX to ".obj" instead of ".o" on Windows:

SFX=

OSFX=.o

MV=mv

RM=rm

CP=cp

# Information about Fortran compilation:

FC=mpif90

FFLAGS= $(LOCALFLAGS) $(CUSTOMBUILDFLAGS) -I$(INCDIR) $(NETCDFINC) -I/apps/inte

l/2013/mkl/include

FNOOPTFLAGS= -O0

FOPTFLAGS= -ip -O3 -xHost

AMBERFFLAGS=$(AMBERBUILDFLAGS)

FREEFORMAT_FLAG= -FR

LM=-lm

FPP=cpp -traditional -P

FPPFLAGS= -DMKL -DBINTRAJ -DMPI $(CUSTOMBUILDFLAGS)

AMBERFPPFLAGS=$(AMBERBUILDFLAGS)

FCREAL8=

XHOME= /usr

XLIBS= -L/usr/lib64 -L/usr/lib

MAKE_XLEAP=install_xleap

NETCDF=$(BASEDIR)/include/netcdf.mod

NETCDFLIB=-L$(BASEDIR)/lib -lnetcdf

NETCDFINC=-I$(BASEDIR)/include

PNETCDF=

PNETCDFLIB=

FFTWLIB=-lfftw3

ZLIB=-lz

BZLIB=-lbz2

HASFC=yes

MTKPP=

XBLAS=

FFTW3=$(LIBDIR)/libfftw3.a

MDGX=yes

COMPILER=intel

MKL=/apps/intel/2013/mkl

MKL_PROCESSOR=intel64

#CUDA Specific build flags

NVCC=

PMEMD_CU_INCLUDES=

PMEMD_CU_LIBS=

PMEMD_CU_DEFINES=

#PMEMD Specific build flags

PMEMD_F90=mpif90 -DMPI -DMKL -DBINTRAJ -DDIRFRC_EFS -DDIRFRC_COMTRANS -DDIRFRC

_NOVEC -DFFTLOADBAL_2PROC -DPUBFFT

PMEMD_FOPTFLAGS=-ipo -O3 -no-prec-div -xHost

PMEMD_CC=mpicc

PMEMD_COPTFLAGS=-ipo -O3 -no-prec-div -xHost -D_FILE_OFFSET_BITS=64 -D_LARGEFILE

_SOURCE -DBINTRAJ -DMPI

PMEMD_FLIBSF=-Wl,--start-group /apps/intel/2013/mkl/lib/intel64/libmkl_intel_lp6

4.a /apps/intel/2013/mkl/lib/intel64/libmkl_sequential.a /apps/intel/2013/mkl/li

b/intel64/libmkl_core.a -Wl,--end-group -lpthread

PMEMD_LD= mpif90

LDOUT= -o

#for NAB:

MPI=mpi

#1D-RISM

RISM=no

#3D-RISM NAB

RISMSFF=

SFF_RISM_INTERFACE=

TESTRISMSFF=

#3D-RISM SANDER

RISMSANDER=

SANDER_RISM_INTERFACE=

FLIBS_RISMSANDER=

TESTRISMSANDER=

#PUPIL

PUPILLIBS=-lrt -lm -lc -L${PUPIL_PATH}/lib -lPUPIL -lPUPILBlind

#Python interpreter we are using

PYTHON=/usr/bin/python2.6


Any suggestions would be greatly appreciated.


Many thanks,

Callum
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Oct 26 2012 - 08:30:02 PDT
Custom Search