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

This commit is contained in:
2019-11-04 15:36:00 +01:00
8 changed files with 134 additions and 12 deletions

View File

@@ -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).

View File

@@ -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
}

View File

@@ -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

View File

@@ -0,0 +1 @@
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

View File

@@ -1,21 +1,34 @@
#!/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() {
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'
echo here
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"
}

View File

@@ -0,0 +1 @@
Java/12.0.2 stable

55
Programming/Java/build Normal file
View File

@@ -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() {
:
}

View File

@@ -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 <marc.caubet@psi.ch>"
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.
"