diff --git a/MPI/lammps/2020/variants b/MPI/lammps/2020/variants new file mode 100644 index 0000000..f058734 --- /dev/null +++ b/MPI/lammps/2020/variants @@ -0,0 +1 @@ +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 6df1224..7a55561 100755 --- a/MPI/lammps/build +++ b/MPI/lammps/build @@ -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 } diff --git a/MPI/lammps/files/version-to-tarname.txt b/MPI/lammps/files/version-to-tarname.txt index a901f75..134d439 100644 --- a/MPI/lammps/files/version-to-tarname.txt +++ b/MPI/lammps/files/version-to-tarname.txt @@ -1,2 +1,3 @@ 2018.11 patch_15Nov2018.tar.gz 2019.8 stable_7Aug2019.tar.gz +2020.3 lammps-3Mar20.tar.gz