Dear lammps-users:
I’m a rookie for lammps.And i’m a student in the college from China and doing works about lammps compiling recently.I have successfully finished compiling by using GNU and INTEL icc.
But now I try to compile lammps by pgi. Recently I have finished to compile lammps for no-package. If I ‘make yes-all’ or ‘make yes-standard’ ,there are so many ‘undefind’ errors.I have check the package in the lib.The errors concentrate on these packages.
And I recompile the lib such as meam,poems,reax and gpu.But in most package, the makefile don’t have Makefile.pgi or Makefile.pgf90 except meam and reax.And I have changed the CC in each Makefile.But when I compile the Makefile.pgi,it will abort and show these errors.Is lammps fit for pgi? This is my Makefile.pgi.
pgi = Portland Group compiler, pgCC, MPICH, FFTW
SHELL = /bin/sh
---------------------------------------------------------------------
compiler/linker settings
specify flags and libraries needed for your compiler
CC = pgCC
CCFLAGS = -fast
DEPFLAGS = -M
LINK = pgCC
LINKFLAGS =
LIB =
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
---------------------------------------------------------------------
LAMMPS-specific settings
specify settings for LAMMPS features you will use
if you change any -D setting, do full re-compile after “make clean”
LAMMPS ifdef settings, OPTIONAL
see possible settings in doc/Section_start.html#2_2 (step 4)
LMP_INC = -DLAMMPS_GZIP
MPI library, REQUIRED
see discussion in doc/Section_start.html#2_2 (step 5)
can point to dummy MPI library in src/STUBS as in Makefile.serial
INC = path for mpi.h, MPI compiler settings
PATH = path for MPI library
LIB = name of MPI library
MPI_INC = -I/opt/pgi/linux86-64/11.8/mpi/mpich/include -DMPICH_SKIP_MPICXX
MPI_PATH = -L/opt/pgi/linux86-64/11.8/mpi/mpich/lib
MPI_LIB = -lmpich
FFT library, OPTIONAL
see discussion in doc/Section_start.html#2_2 (step 6)
can be left blank to use provided KISS FFT library
INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
PATH = path for FFT library
LIB = name of FFT library
FFT_INC = -I/opt/fftw215/include -DFFT_FFTW
FFT_PATH = -L/opt/fftw215/lib
FFT_LIB = -lfftw
JPEG library, OPTIONAL
see discussion in doc/Section_start.html#2_2 (step 7)
only needed if -DLAMMPS_JPEG listed with LMP_INC
INC = path for jpeglib.h
PATH = path for JPEG library
LIB = name of JPEG library
JPG_INC =
JPG_PATH =
JPG_LIB =
---------------------------------------------------------------------
build rules and dependencies
no need to edit this section
include Makefile.package.settings
include Makefile.package
EXTRA_INC = (LMP_INC) (PKG_INC) (MPI_INC) (FFT_INC) (JPG_INC) (PKG_SYSINC)
EXTRA_PATH = (PKG_PATH) (MPI_PATH) (FFT_PATH) (JPG_PATH) (PKG_SYSPATH)
EXTRA_LIB = (PKG_LIB) (MPI_LIB) (FFT_LIB) (JPG_LIB) (PKG_SYSLIB)
Link target
(EXE): (OBJ)
(LINK) (LINKFLAGS) (EXTRA_PATH) (OBJ) (EXTRA_LIB) (LIB) -o (EXE)
(SIZE) $(EXE)
Library target
lib: (OBJ) (ARCHIVE) (ARFLAGS) (EXE) $(OBJ)
Compilation rules
.o:.cpp
(CC) (CCFLAGS) (EXTRA_INC) -c <
.d:.cpp
(CC) (CCFLAGS) (EXTRA_INC) (DEPFLAGS) < > @
Individual dependencies
DEPENDS = (OBJ:.o=.d) sinclude (DEPENDS)
Another question: When I complete compiling by gcc or icc,it will show me the libcufft.so and libcudart.so mismatching.My OS is Linux RETHAT6.1 and my cuda version is 4.2.I have no idea to solve this problem.
I will very much appreciate any input and help!
Thanks,