From 278d04929aeff2093fc6731d31deaaba44663a38 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Tue, 20 Aug 2019 14:09:53 +0200 Subject: [PATCH 1/6] Added Gromacs 2019 with GPU support --- MPI/gromacs/2019/variants | 2 ++ MPI/gromacs/build | 22 +++++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 MPI/gromacs/2019/variants diff --git a/MPI/gromacs/2019/variants b/MPI/gromacs/2019/variants new file mode 100644 index 0000000..2931282 --- /dev/null +++ b/MPI/gromacs/2019/variants @@ -0,0 +1,2 @@ +gromacs/2019.3_sp unstable gcc/8.3.0 openmpi/3.1.4 cuda/9.2.148 Python/2.7.16 b:cmake/3.14.0 + diff --git a/MPI/gromacs/build b/MPI/gromacs/build index ec1db42..f3f0d7e 100755 --- a/MPI/gromacs/build +++ b/MPI/gromacs/build @@ -7,15 +7,23 @@ pbuild::add_to_group 'MPI' pbuild::install_docfiles ACKNOWLEDGMENTS COPYING MANIFEST README.txt pbuild::pre_configure() { - pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=RELEASE" - pbuild::add_configure_args "-DGMX_MPI=on" - + # For enabling GPU, set to 'yes' + local enable_gpu='yes' + + pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=RELEASE" + pbuild::add_configure_args "-DGMX_MPI=on" + if pbuild::use_flag dp ; then - pbuild::add_configure_args "-DGFMX_DOUBLE=on" + pbuild::add_configure_args "-DGFMX_DOUBLE=on" else # pbuild::use_flag sp - pbuild::add_configure_args "-DGFMX_DOUBLE=off" + pbuild::add_configure_args "-DGFMX_DOUBLE=off" fi + + if [[ "${enable_gpu}" == 'yes' ]]; then + pbuild::add_configure_args "-DGMX_GPU=on" + else pbuild::add_configure_args "-DGMX_GPU=off" - # To remove: pbuild::add_configure_args "-DGMX_SIMD=SSE2" - pbuild::add_configure_args "-DGMX_BUILD_OWN_FFTW=on" + fi + # To remove: pbuild::add_configure_args "-DGMX_SIMD=SSE2" + pbuild::add_configure_args "-DGMX_BUILD_OWN_FFTW=on" } From 08c8769fb644217cc1099be35a500d3915658db3 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Fri, 23 Aug 2019 11:20:13 +0200 Subject: [PATCH 2/6] Added Gromacs 2019 with GPU support --- MPI/gromacs/2019/variants | 3 +-- MPI/gromacs/build | 9 +++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/MPI/gromacs/2019/variants b/MPI/gromacs/2019/variants index 2931282..615c96b 100644 --- a/MPI/gromacs/2019/variants +++ b/MPI/gromacs/2019/variants @@ -1,2 +1 @@ -gromacs/2019.3_sp unstable gcc/8.3.0 openmpi/3.1.4 cuda/9.2.148 Python/2.7.16 b:cmake/3.14.0 - +gromacs/2019.3_sp unstable gcc/7.4.0 openmpi/4.0.1 cuda/10.0.130 Python/2.7.16 b:cmake/3.14.0 diff --git a/MPI/gromacs/build b/MPI/gromacs/build index f3f0d7e..ce115b5 100755 --- a/MPI/gromacs/build +++ b/MPI/gromacs/build @@ -1,15 +1,20 @@ -#!/usr/bin/env modbuild +#!/usr/bin/env modbuild pbuild::set_download_url "http://ftp.gromacs.org/pub/$P/$P-${V_PKG}.tar.gz" pbuild::add_to_group 'MPI' -pbuild::install_docfiles ACKNOWLEDGMENTS COPYING MANIFEST README.txt +if (( V_MAJOR <= 2018 )); then + pbuild::install_docfiles ACKNOWLEDGMENTS COPYING MANIFEST README.txt +else + pbuild::install_docfiles AUTHORS COPYING README +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" From 154daf68904a93792038e23fded522647794d295 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Wed, 28 Aug 2019 14:21:56 +0200 Subject: [PATCH 3/6] Added Gromacs 2019 with GPU support --- MPI/gromacs/2019/variants | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MPI/gromacs/2019/variants b/MPI/gromacs/2019/variants index 615c96b..208381a 100644 --- a/MPI/gromacs/2019/variants +++ b/MPI/gromacs/2019/variants @@ -1 +1,3 @@ -gromacs/2019.3_sp unstable gcc/7.4.0 openmpi/4.0.1 cuda/10.0.130 Python/2.7.16 b:cmake/3.14.0 +gromacs/2019.3_sp unstable gcc/7.4.0 openmpi/3.1.4_merlin6 cuda/10.0.130 Python/2.7.16 b:cmake/3.14.0 +gromacs/2019.3_sp removed gcc/7.4.0 openmpi/4.0.1 +gromacs/2019.3_sp removed gcc/8.3.0 openmpi/3.1.4 From ebf05cf8191758dd3944ee804487c3191c8b8dd6 Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Wed, 28 Aug 2019 16:43:03 +0200 Subject: [PATCH 4/6] Deploy fftw/3.3.8-1 - Single (sp) and double precision (dp) variants based on the use flags - Add merlin & merlin6 flags to indicate that the software depends on merlin-specific architecture features (SSE and AVX) - Depend on most recent OpenMPI compiled for merlin5/merlin6 --- MPI/fftw/README | 12 +++++++++++- MPI/fftw/build | 16 +++++++++++++++- MPI/fftw/files/variants | 9 ++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/MPI/fftw/README b/MPI/fftw/README index f7675db..b8d2242 100644 --- a/MPI/fftw/README +++ b/MPI/fftw/README @@ -2,6 +2,16 @@ FFTW ==== FFTW is highly optimized, but downgrades if run on an older processor. It -should be built compiled on a system with SSE2 and AVX2 support (e.g. merlin). +should be built compiled on merlin, since it needs SSE2, AVX2, and Infiniband +(libfabric). This module requires PMODULE_VERSION > 1.0.0 to compile. + +The module is currently organized around several use flags: + +- *sp* single precision vs *dp* double precision +- *merlin6* vs *merlin*. These come from the upstream dependency on openmpi, + which needs to be compiled differently for RHEL6 (merlin) and RHEL7 + (merlin6). + + diff --git a/MPI/fftw/build b/MPI/fftw/build index 7334359..bcb8870 100755 --- a/MPI/fftw/build +++ b/MPI/fftw/build @@ -3,7 +3,7 @@ pbuild::add_to_group 'MPI' -pbuild::set_download_url "http://www.fftw.org/fftw-$V.tar.gz" +pbuild::set_download_url "http://www.fftw.org/fftw-${V_PKG}.tar.gz" pbuild::set_sha256sum "fftw-3.3.8.tar.gz:6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303" pbuild::install_docfiles 'COPYRIGHT' 'COPYING' 'README' 'NEWS' @@ -22,4 +22,18 @@ pbuild::pre_configure() { # CPU optimizations pbuild::add_configure_args "--enable-sse2" pbuild::add_configure_args "--enable-avx2" + pbuild::add_configure_args "--with-pic" + #pbuild::add_configure_args "--enable-shared" + + # Floating point precision + #pbuild::add_configure_args "--enable-type-prefix" + if pbuild::use_flag "sp"; then + pbuild::add_configure_args "--enable-single" + pbuild::add_configure_args "--enable-sse" + elif pbuild::use_flag "dp"; then + : #default + else + echo "No flag specified" >&2 + exit 1 + fi } diff --git a/MPI/fftw/files/variants b/MPI/fftw/files/variants index fa8f4ad..10ec17c 100644 --- a/MPI/fftw/files/variants +++ b/MPI/fftw/files/variants @@ -1 +1,8 @@ -fftw/3.3.8 unstable gcc/{7.3.0,8.2.0} mpich/3.2.1 openmpi/3.1.3 +fftw/3.3.8 deprecated gcc/{7.3.0,8.2.0} mpich/3.2.1 openmpi/3.1.3 +# Use older MPI version on merlin5 +fftw/3.3.8-1_sp_merlin unstable gcc/8.2.0 mpich/3.2.1 openmpi/3.1.1 +fftw/3.3.8-1_dp_merlin unstable gcc/8.2.0 mpich/3.2.1 openmpi/3.1.1 +# Merlin6 mpi version +fftw/3.3.8-1_sp_merlin6 unstable gcc/{7.4.0,8.3.0} mpich/3.3 openmpi/3.1.4_merlin6 +fftw/3.3.8-1_dp_merlin6 unstable gcc/{7.4.0,8.3.0} mpich/3.3 openmpi/3.1.4_merlin6 + From e82f6f6359178527dcc61145f24d61bd4c7d6e5b Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 26 Sep 2019 10:00:00 +0200 Subject: [PATCH 5/6] Moved gromacs and java to stable --- MPI/gromacs/2019/variants | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/MPI/gromacs/2019/variants b/MPI/gromacs/2019/variants index 208381a..4bea2cc 100644 --- a/MPI/gromacs/2019/variants +++ b/MPI/gromacs/2019/variants @@ -1,3 +1 @@ -gromacs/2019.3_sp unstable gcc/7.4.0 openmpi/3.1.4_merlin6 cuda/10.0.130 Python/2.7.16 b:cmake/3.14.0 -gromacs/2019.3_sp removed gcc/7.4.0 openmpi/4.0.1 -gromacs/2019.3_sp removed gcc/8.3.0 openmpi/3.1.4 +gromacs/2019.3_sp stable gcc/7.4.0 openmpi/3.1.4_merlin6 cuda/10.0.130 Python/2.7.16 b:cmake/3.14.0 From 81e7fe8afc73296324360deeb7cbd1aa0ff3beb7 Mon Sep 17 00:00:00 2001 From: Caubet Serrabou Marc Date: Thu, 26 Sep 2019 10:12:52 +0200 Subject: [PATCH 6/6] Added Java in stable repo, was in unstable for some time --- Programming/Java/12.0.2/variants | 1 + Programming/Java/build | 55 ++++++++++++++++++++++++++++++++ Programming/Java/modulefile | 21 ++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 Programming/Java/12.0.2/variants create mode 100644 Programming/Java/build create mode 100644 Programming/Java/modulefile diff --git a/Programming/Java/12.0.2/variants b/Programming/Java/12.0.2/variants new file mode 100644 index 0000000..c67ef1b --- /dev/null +++ b/Programming/Java/12.0.2/variants @@ -0,0 +1 @@ +Java/12.0.2 stable diff --git a/Programming/Java/build b/Programming/Java/build new file mode 100644 index 0000000..7589acb --- /dev/null +++ b/Programming/Java/build @@ -0,0 +1,55 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz" + +pbuild::add_to_group 'Programming' + +pbuild::compile_in_sourcetree + +pbuild::install_docfiles "legal/jdk.net/LICENSE" "release" + +pbuild::compile() { + : +} + +pbuild::install() { + install -m 0755 -d "${PREFIX}/bin" + for binary_file in $(ls ${SRC_DIR}/bin/*) + do + install -m 0755 "${binary_file}" "${PREFIX}/bin" + done + + for java_dir in $(echo "lib lib/security lib/jfr lib/server") + do + mkdir -p "${PREFIX}/${java_dir}" + install -m 0755 -d "${PREFIX}/${java_dir}" + for library_file in $(find ${SRC_DIR}/${java_dir} -maxdepth 1 -type f) + do + install -m 0755 "${library_file}" "${PREFIX}/${java_dir}" + done + done + + for java_dir in $(echo "conf conf/management conf/security conf/security/policy conf/security/policy/unlimited conf/security/policy/limited conf/sdp") + do + mkdir -p "${PREFIX}/${java_dir}" + install -m 0755 -d "${PREFIX}/${java_dir}" + for library_file in $(find ${SRC_DIR}/${java_dir} -maxdepth 1 -type f) + do + install -m 0755 "${library_file}" "${PREFIX}/${java_dir}" + done + done + + for java_dir in $(echo "jmods") + do + mkdir -p "${PREFIX}/${java_dir}" + install -m 0755 -d "${PREFIX}/${java_dir}" + for library_file in $(find ${SRC_DIR}/${java_dir} -maxdepth 1 -type f) + do + install -m 0755 "${library_file}" "${PREFIX}/${java_dir}" + done + done +} + +pbuild::cleanup_src() { + : +} diff --git a/Programming/Java/modulefile b/Programming/Java/modulefile new file mode 100644 index 0000000..aad0de1 --- /dev/null +++ b/Programming/Java/modulefile @@ -0,0 +1,21 @@ +#%Module1.0 + +module-whatis "Java Development Kit builds, from Oracle" +module-url "http://jdk.java.net/" +module-license "See PREFIX/share/doc/COPYING" +module-maintainer "Marc Caubet " +module-help " +Open Java Development Kit) is a free and open-source +implementation of the Java Platform, Standard Edition +(Java SE). It is the result of an effort Sun Microsystems +began in 2006. + +The implementation is licensed under the GNU General +Public License (GNU GPL) version 2 with a linking +exception. Were it not for the GPL linking exception, +components that linked to the Java class library would be +subject to the terms of the GPL license. + +OpenJDK is the official reference implementation of Java +SE. +"