MPI/lammps
- build-block added
This commit is contained in:
1
MPI/lammps/2017/variants
Normal file
1
MPI/lammps/2017/variants
Normal file
@@ -0,0 +1 @@
|
||||
lammps/2017.8 unstable gcc/5.4.0 openmpi/1.10.4
|
||||
26
MPI/lammps/build
Executable file
26
MPI/lammps/build
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
SOURCE_URL="lammps-2017.8.tar.gz"
|
||||
|
||||
pbuild::compile_in_sourcetree
|
||||
|
||||
pbuild::configure() {
|
||||
cp -v "${BUILD_BLOCK_DIR}/files/Makefile.PSI" "${MODULE_BUILDDIR}/src/MAKE/MINE"
|
||||
}
|
||||
|
||||
pbuild::build() {
|
||||
make -C src PSI
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
install -m 0755 -d "${PREFIX}/bin"
|
||||
install -m 0755 "${MODULE_BUILDDIR}/src/lmp_PSI" "${PREFIX}/bin/lmp_omp"
|
||||
strip "${PREFIX}/bin/lmp_omp"
|
||||
}
|
||||
|
||||
pbuild::add_to_group 'MPI'
|
||||
pbuild::set_docfiles \
|
||||
LICENSE \
|
||||
README
|
||||
pbuild::make_all
|
||||
|
||||
120
MPI/lammps/files/Makefile.PSI
Normal file
120
MPI/lammps/files/Makefile.PSI
Normal file
@@ -0,0 +1,120 @@
|
||||
# omp = USER-OMP package, MPI with its default compiler
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# compiler/linker settings
|
||||
# specify flags and libraries needed for your compiler
|
||||
|
||||
CC = mpicxx
|
||||
CCFLAGS = -g -O3 -fopenmp
|
||||
SHFLAGS = -fPIC
|
||||
DEPFLAGS = -M
|
||||
|
||||
LINK = mpicxx
|
||||
LINKFLAGS = -g -O -fopenmp
|
||||
LIB =
|
||||
SIZE = size
|
||||
|
||||
ARCHIVE = ar
|
||||
ARFLAGS = -rc
|
||||
SHLIBFLAGS = -shared
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# LAMMPS-specific settings, all OPTIONAL
|
||||
# specify settings for LAMMPS features you will use
|
||||
# if you change any -D setting, do full re-compile after "make clean"
|
||||
|
||||
# LAMMPS ifdef settings
|
||||
# see possible settings in Section 2.2 (step 4) of manual
|
||||
|
||||
LMP_INC = -DLAMMPS_GZIP
|
||||
|
||||
# MPI library
|
||||
# see discussion in Section 2.2 (step 5) of manual
|
||||
# MPI wrapper compiler/linker can provide this info
|
||||
# can point to dummy MPI library in src/STUBS as in Makefile.serial
|
||||
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
|
||||
# INC = path for mpi.h, MPI compiler settings
|
||||
# PATH = path for MPI library
|
||||
# LIB = name of MPI library
|
||||
|
||||
MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1
|
||||
MPI_PATH =
|
||||
MPI_LIB =
|
||||
|
||||
# FFT library
|
||||
# see discussion in Section 2.2 (step 6) of manual
|
||||
# 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 =
|
||||
FFT_PATH =
|
||||
FFT_LIB =
|
||||
|
||||
# JPEG and/or PNG library
|
||||
# see discussion in Section 2.2 (step 7) of manual
|
||||
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
|
||||
# INC = path(s) for jpeglib.h and/or png.h
|
||||
# PATH = path(s) for JPEG library and/or PNG library
|
||||
# LIB = name(s) of JPEG library and/or PNG library
|
||||
|
||||
JPG_INC =
|
||||
JPG_PATH =
|
||||
JPG_LIB =
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# build rules and dependencies
|
||||
# do not 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)
|
||||
EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)
|
||||
EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)
|
||||
|
||||
# Path to src files
|
||||
|
||||
vpath %.cpp ..
|
||||
vpath %.h ..
|
||||
|
||||
# Link target
|
||||
|
||||
$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS)
|
||||
$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
|
||||
$(SIZE) $(EXE)
|
||||
|
||||
# Library targets
|
||||
|
||||
lib: $(OBJ) $(EXTRA_LINK_DEPENDS)
|
||||
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)
|
||||
|
||||
shlib: $(OBJ) $(EXTRA_LINK_DEPENDS)
|
||||
$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
|
||||
$(OBJ) $(EXTRA_LIB) $(LIB)
|
||||
|
||||
# Compilation rules
|
||||
|
||||
%.o:%.cpp $(EXTRA_CPP_DEPENDS)
|
||||
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<
|
||||
|
||||
%.d:%.cpp $(EXTRA_CPP_DEPENDS)
|
||||
$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@
|
||||
|
||||
%.o:%.cu $(EXTRA_CPP_DEPENDS)
|
||||
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<
|
||||
|
||||
# Individual dependencies
|
||||
|
||||
depend : fastdep.exe $(SRC)
|
||||
@./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1
|
||||
|
||||
fastdep.exe: ../DEPEND/fastdep.c
|
||||
cc -O -o $@ $<
|
||||
|
||||
sinclude .depend
|
||||
23
MPI/lammps/modulefile
Normal file
23
MPI/lammps/modulefile
Normal file
@@ -0,0 +1,23 @@
|
||||
#%Module1.0
|
||||
|
||||
module-whatis "an accelerator modeling code th"
|
||||
module-url "http://www.aps.anl.gov/Accelerator_Systems_Division/Accelerator_Operations_Physics/elegant.html"
|
||||
module-license "See: http://www.aps.anl.gov/epics/license/index.php"
|
||||
module-maintainer "Achim Gsell <achim.gsell@psi.ch>"
|
||||
|
||||
module-help "
|
||||
elegant is an accelerator modeling code that performs many functions. Its
|
||||
basic function is 6D tracking, which it performs using matrices (up to
|
||||
second order), symplectic integration, numerical integration, or a user-
|
||||
defined mixture. It computes Twiss parameters, transport matrices, radiation
|
||||
integrals, correction matrices, amplification factors, and floor coordinates.
|
||||
It also performs optimization, including optimization of radiation integrals,
|
||||
floor coordinates, transport matrices, and beam properties from tracking. A
|
||||
number of time-dependent elements are supported, such as rf cavities, kickers,
|
||||
and ramping machines. The code provides simulation of various collective
|
||||
effects, such as wakes and coherent synchrotron radiation.
|
||||
"
|
||||
|
||||
setenv RPN_DEFNS $PREFIX/RPN-DEFNS
|
||||
setenv HOST_ARCH linux-x86_64
|
||||
setenv EPICS_HOST_ARCH linux-x86_64
|
||||
Reference in New Issue
Block a user