Merge branch 'master' of gitlab.psi.ch:Pmodules/buildblocks

This commit is contained in:
Achim Gsell
2020-11-16 12:44:06 +01:00
40 changed files with 408 additions and 175 deletions
+3
View File
@@ -0,0 +1,3 @@
gromacs/2020_sp unstable gcc/7.4.0 openmpi/3.1.5_merlin6 cuda/10.0.130 Python/3.7.4 b:cmake/3.14.0
gromacs/2020.2_sp unstable gcc/7.5.0 openmpi/3.1.6_slurm cuda/10.0.130 Python/3.7.4 b:cmake/3.15.5
gromacs/2020.2_sp_gpu unstable gcc/7.5.0 openmpi/4.0.4_slurm cuda/10.0.130 Python/3.7.4 b:cmake/3.15.5
+7 -6
View File
@@ -11,10 +11,6 @@ else
fi
pbuild::pre_configure() {
# For enabling GPU, set to 'yes'
local enable_gpu='yes'
echo here
pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=RELEASE"
pbuild::add_configure_args "-DGMX_MPI=on"
@@ -24,11 +20,16 @@ pbuild::pre_configure() {
pbuild::add_configure_args "-DGFMX_DOUBLE=off"
fi
if [[ "${enable_gpu}" == 'yes' ]]; then
if pbuild::use_flag "gpu"; then
pbuild::add_configure_args "-DGMX_GPU=on"
else
pbuild::add_configure_args "-DGMX_GPU=off"
fi
# To remove: pbuild::add_configure_args "-DGMX_SIMD=SSE2"
# For GMX_SIMD the lowest instruction number you think might work on all nodes
# |- Available numbers: http://manual.gromacs.org/documentation/2020/install-guide/index.html#simd-support
# |- AVX_512 is only for newest Intel processors (Xeon Scalable Gold, Core i9, etc.)
# AVX_512 will not work on old GPUs, this is why we chood AVX2_256 which are processors from 2013
pbuild::add_configure_args "-DGMX_SIMD=AVX2_256"
pbuild::add_configure_args "-DGMX_BUILD_OWN_FFTW=on"
}
+1
View File
@@ -0,0 +1 @@
lammps/2020.3_merlin6 unstable gcc/8.4.0 openmpi/4.0.4_slurm b:cmake/3.15.5
+5
View File
@@ -0,0 +1,5 @@
[27.08.2020]
* With CMake is necessary to have 'python3-virtualenv' installed. Needed for building documentation.
* Compilation for version 2020.3 with OMP, GCC v8, OpenMPI v4.0.4 works without the need of specifying '-D LAMMPS_OMP_COMPAT=4'
* More details here: https://lammps.sandia.gov/doc/Build_basics.html)
* Problems are seen with GCC v9, so is recommended to use GCC v8 for that. It was compiled with v8.
+34 -64
View File
@@ -4,80 +4,50 @@
TARNAME=$(grep -E "^${V_MAJOR}.${V_MINOR}" files/version-to-tarname.txt| awk '{print $2}')
# pbuild::set_download_url "https://gitlab.psi.ch/caubet_m/merlin-software/raw/master/$P/$P-${V_PKG}.tar.gz"
pbuild::set_download_url "https://github.com/lammps/lammps/archive/${TARNAME}"
# pbuild::set_download_url "https://github.com/lammps/lammps/archive/${TARNAME}"
pbuild::set_download_url "https://lammps.sandia.gov/tars/${TARNAME}"
pbuild::add_to_group 'MPI'
pbuild::install_docfiles README LICENSE
pbuild::compile_in_sourcetree
# pbuild::pre_configure() {
# pbuild::add_configure_args "-D CMAKE_BUILD_TYPE=RELEASE"
#
# pbuild::add_configure_args "-D BUILD_MPI=yes"
# pbuild::add_configure_args "-D BUILD_OMP=yes"
# pbuild::add_configure_args "-D PKG_USER-OMP=yes"
# pbuild::add_configure_args "-D PKG_BODY=yes"
# pbuild::add_configure_args "-D PKG_DIPOLE=yes"
# pbuild::add_configure_args "-D PKG_MOLECULE=yes"
# pbuild::add_configure_args "-D PKG_MPIIO=yes"
# pbuild::add_configure_args "-D PKG_REPLICA=yes"
# # pbuild::add_configure_args "-D PKG_REAX=yes"
# pbuild::add_configure_args "-D PKG_RIGID=yes"
# pbuild::add_configure_args "-D PKG_USER-REAXC=yes"
#
# }
# pbuild::configure() {
# cp -v "${BUILDBLOCK_DIR}/files/Makefile.PSI" "${BUILD_DIR}/src/MAKE/MINE"
# }
#
pbuild::configure() {
sed -i '/^CCFLAGS.*/ s/$/ -fopenmp/' ${BUILD_DIR}/src/MAKE/Makefile.mpi
sed -i '/^LINKFLAGS.*/ s/$/ -fopenmp/' ${BUILD_DIR}/src/MAKE/Makefile.mpi
cmake -D CMAKE_INSTALL_PREFIX="${PREFIX}" \
-D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_MPI=yes \
-D BUILD_OMP=yes \
-D BUILD_TOOLS=yes \
-D BUILD_DOC=yes \
-D LAMMPS_MACHINE=mpi \
-D PKG_USER-OMP=yes \
-D PKG_ASPHERE=yes \
-D PKG_BODY=yes \
-D PKG_COMPRESS=yes \
-D PKG_CORESHELL=yes \
-D PKG_DIPOLE=yes \
-D PKG_GRANULAR=yes \
-D PKG_MANYBODY=yes \
-D PKG_KSPACE=yes \
-D PKG_MC=yes \
-D PKG_MISC=yes \
-D PKG_MOLECULE=yes \
-D PKG_MPIIO=yes \
-D PKG_OPT=yes \
-D PKG_PYTHON=yes \
-D PKG_REPLICA=yes \
-D PKG_RIGID=yes \
-D PKG_SNAP=yes \
-D PKG_USER-EFF=yes \
-D PKG_USER-DRUDE=yes \
-D PKG_USER-REAXC=yes \
-D BUILD_SHARED_LIBS=on \
${BUILD_DIR}/../src/cmake
}
pbuild::compile() {
echo BEGIN COMPILE
cd src
# make clean-all
# make no-all
make yes-user-omp
make yes-asphere
make yes-body
make yes-compress
make yes-coreshell
make yes-dipole
make yes-granular
make yes-manybody
make yes-kspace
make yes-mc
make yes-misc
make yes-molecule
make yes-mpiio
make yes-opt
make yes-python
make yes-replica
make yes-rigid
make yes-snap
make yes-user-eff
make yes-user-drude
make yes-user-reaxc
make yes-user-reaxc args="-m serial"
make yes-user-reaxc args="-m mpi"
make mpi
echo ENDCOMPILE
cmake --build ${BUILD_DIR}
}
pbuild::install() {
install -m 0755 -d "${PREFIX}/bin"
# Modify this for installing individual binaries
install -m 0755 "${BUILD_DIR}/src/lmp_mpi" "${PREFIX}/bin/"
# Strip all present binaries
for file in $(ls ${PREFIX}/bin/lmp_*)
do
strip "$file"
done
make install
}
+1
View File
@@ -1,2 +1,3 @@
2018.11 patch_15Nov2018.tar.gz
2019.8 stable_7Aug2019.tar.gz
2020.3 lammps-3Mar20.tar.gz
+2 -1
View File
@@ -1 +1,2 @@
qe/6.3 unstable gcc/8.2.0 openmpi/3.1.1 b:cmake/3.9.6
qe/6.3 unstable gcc/8.2.0 openmpi/3.1.1 b:cmake/3.9.6
qe/6.5 unstable gcc/9.3.0 lapack/3.9.0 OpenBLAS/0.3.9 openmpi/4.0.4_slurm b:cmake/3.15.5
+6 -15
View File
@@ -1,7 +1,6 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://github.com/QEF/q-e/archive/$P-$V.tar.gz"
echo "https://github.com/QEF/q-e/archive/$P-$V.tar.gz"
pbuild::add_to_group 'MPI'
@@ -9,24 +8,16 @@ pbuild::install_docfiles License README.md CONTRIBUTING.md
pbuild::compile_in_sourcetree
pbuild::configure() {
mkdir -p ${PREFIX}
./configure -enable-openmp --with-prefix="${PREFIX}/bin" --prefix="${PREFIX}/bin"
pbuild::pre_configure() {
pbuild::add_configure_args "-enable-openmp"
}
pbuild::compile() {
make all
make all
make install
}
pbuild::install() {
# Due to bug in: https://gitlab.com/QEF/q-e/commit/88e6558646dbbcfcafa5f3fa758217f6062ab91c.diff
# Deploying custom install procedure
mkdir -p ${PREFIX}/bin
cd ${BUILD_DIR}
for x in `find * ! -path "test-suite/*" -name *.x -type f` ; do
cp $x ${PREFIX}/bin/
done
echo 'Quantum ESPRESSO binaries installed in ${PREFIX}/bin'
# make install
:
}