Commit edba6f5d authored by gsell's avatar gsell
Browse files

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

parents 78c10659 b0472c93
......@@ -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).
......@@ -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
}
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
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
#!/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"
}
#!/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() {
:
}
#%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.
"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment