From 139305ec0341650fee7cc49332a57c1934c62443 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 27 Aug 2020 17:42:48 +0200 Subject: [PATCH] Update LAMMPS: from make to cmake, OpenMPI 4.0.4 support, 2020.3 --- MPI/lammps/2020/variants | 2 +- MPI/lammps/README.txt | 5 ++++ MPI/lammps/build | 64 +++++++++++++++++++--------------------- 3 files changed, 36 insertions(+), 35 deletions(-) create mode 100644 MPI/lammps/README.txt diff --git a/MPI/lammps/2020/variants b/MPI/lammps/2020/variants index f277c59..f058734 100644 --- a/MPI/lammps/2020/variants +++ b/MPI/lammps/2020/variants @@ -1 +1 @@ -lammps/2020.3_merlin6 unstable gcc/9.3.0 openmpi/4.0.4_slurm b:cmake/3.15.5 +lammps/2020.3_merlin6 unstable gcc/8.4.0 openmpi/4.0.4_slurm b:cmake/3.15.5 diff --git a/MPI/lammps/README.txt b/MPI/lammps/README.txt new file mode 100644 index 0000000..7682985 --- /dev/null +++ b/MPI/lammps/README.txt @@ -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. diff --git a/MPI/lammps/build b/MPI/lammps/build index fb1aa5c..7a55561 100755 --- a/MPI/lammps/build +++ b/MPI/lammps/build @@ -11,41 +11,37 @@ pbuild::add_to_group 'MPI' pbuild::install_docfiles README LICENSE -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 BUILD_TOOLS=yes" - pbuild::add_configure_args "-D BUILD_DOC=yes" - - pbuild::add_configure_args "-D LAMMPS_MACHINE=mpi" - pbuild::add_configure_args "-D PKG_USER-OMP=yes" - pbuild::add_configure_args "-D PKG_ASPHERE=yes" - pbuild::add_configure_args "-D PKG_BODY=yes" - pbuild::add_configure_args "-D PKG_COMPRESS=yes" - pbuild::add_configure_args "-D PKG_CORESHELL=yes" - pbuild::add_configure_args "-D PKG_DIPOLE=yes" - pbuild::add_configure_args "-D PKG_GRANULAR=yes" - pbuild::add_configure_args "-D PKG_MANYBODY=yes" - pbuild::add_configure_args "-D PKG_KSPACE=yes" - pbuild::add_configure_args "-D PKG_MC=yes" - pbuild::add_configure_args "-D PKG_MISC=yes" - pbuild::add_configure_args "-D PKG_MOLECULE=yes" - pbuild::add_configure_args "-D PKG_MPIIO=yes" - pbuild::add_configure_args "-D PKG_OPT=yes" - pbuild::add_configure_args "-D PKG_PYTHON=yes" - pbuild::add_configure_args "-D PKG_REPLICA=yes" - pbuild::add_configure_args "-D PKG_RIGID=yes" - pbuild::add_configure_args "-D PKG_SNAP=yes" - pbuild::add_configure_args "-D PKG_USER-EFF=yes" - pbuild::add_configure_args "-D PKG_USER-DRUDE=yes" - pbuild::add_configure_args "-D PKG_USER-REAXC=yes" - # (( ${OPENMPI_VERSION%%.*} >= 4 )) && pbuild::add_configure_args "-D LAMMPS_OMP_COMPAT=4" -} - pbuild::configure() { - cmake ${BUILD_DIR}/../src/cmake -D CMAKE_INSTALL_PREFIX="${PREFIX}" + 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() {