Wiki‎ > ‎

Compile NetCDF and PMEMD on Inel

posted Aug 5, 2011, 7:50 PM by Dong Xu   [ updated Aug 5, 2011, 9:33 PM ]
Use PGI: module load pgi/7.1
and
module load mvapich2-pgi-7.1/1.6

NETCDF

C preprocessor should be
export CPP='pgcc -E'

So use
./configure CPP="pgcc -E" CC=pgcc CXXCPP="pgcpp -E" CXX=pgcpp \
F77=pgf77 FC=pgf90 F90=pgf90 \
CPPFLAGS="-DNDEBUG -DpgiFortran" \
LDFLAGS="-fPIC" --prefix=${PREFIX}

The PG C preprocessor is invoked by using the '-E' flag in conjunction
with the C compiler ...

Do "make check"!

PMEMD

Using an older version, configure.h file:

MATH_DEFINES =
MATH_LIBS =
FFT_DEFINES = -DPUBFFT
FFT_INCLUDE =
FFT_LIBS =
NETCDF_HOME = /home/xud/apps/pmemd/netcdf-3.6.3/pgi-install
NETCDF_DEFINES = -DBINTRAJ
NETCDF_MOD = netcdf.mod
NETCDF_LIBS = $(NETCDF_HOME)/lib/libnetcdf.a
MPI_HOME = /apps/local/mvapich2/1.6/pgi-7.1/opt/
MPI_LIBDIR2 = /apps/local/mvapich2/1.6/pgi-7.1/opt/ (Infiniband Path, same as MPI_HOME)
MPI_DEFINES = -DMPI -DNO_NTT3_SYNC
MPI_INCLUDE = -I$(MPI_HOME)/include
MPI_LIBDIR = $(MPI_HOME)/lib
MPI_LIBS = (Note, nothing here!)
DIRFRC_DEFINES = -DDIRFRC_EFS -DDIRFRC_NOVEC
CPP = /lib/cpp
CPPFLAGS = -traditional -P
F90_DEFINES = -DFFTLOADBAL_2PROC

F90 = mpif90
MODULE_SUFFIX = mod
F90FLAGS = -c
F90_OPT_DBG = -g
F90_OPT_LO = -fastsse -O1
F90_OPT_MED = -fastsse -O2
F90_OPT_HI = -fastsse -O3
F90_OPT_DFLT = $(F90_OPT_HI)

CC = pgcc
CFLAGS = -fastsse -O3

LOAD = mpif90
LOADFLAGS =
LOADLIBS =

Comments