From d3cbd35bc19c03ce2153bef310d87382afdc8e10 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 16:42:51 +0200 Subject: [PATCH 1/9] libxc: new build-block added --- Compiler/libxc/build | 32 +++++++++++++++++++++++++++++ Compiler/libxc/files/variants.rhel6 | 1 + Compiler/libxc/modulefile | 13 ++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 Compiler/libxc/build create mode 100644 Compiler/libxc/files/variants.rhel6 create mode 100644 Compiler/libxc/modulefile diff --git a/Compiler/libxc/build b/Compiler/libxc/build new file mode 100644 index 0000000..e2db2bb --- /dev/null +++ b/Compiler/libxc/build @@ -0,0 +1,32 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://gitlab.com/$P/$P/-/archive/${V_PKG}/$P-${V_PKG}.tar.gz" +pbuild::add_to_group 'Compiler' +pbuild::use_autotools +pbuild::install_docfiles 'AUTHORS' +pbuild::install_docfiles 'COPYING' +pbuild::install_docfiles 'KNOWN_ISSUES' +pbuild::install_docfiles 'NEWS' +pbuild::install_docfiles 'PACKAGING' +pbuild::install_docfiles 'README' +pbuild::install_docfiles 'TODO' + +pbuild::post_prep() { + libtoolize + aclocal + autoheader + automake --add-missing + autoconf +} + +pbuild::pre_configure() { + local -r cflags="-O2 -fPIC -fp-model precise -funroll-loops -g -traceback -xHost" + local -r fcflags="-O2 -fPIC -fp-model precise -fpp -free -funroll-loops -g -traceback -xHost" + pbuild::add_configure_args "CC=${CC}" + pbuild::add_configure_args "CXX=${CXX}" + pbuild::add_configure_args "FC=${FC}" + pbuild::add_configure_args "CFLAGS=${cflags}" + pbuild::add_configure_args "CXXFLAGS=${cflags}" + pbuild::add_configure_args "FCFLAGS=${fcflags}" +} + diff --git a/Compiler/libxc/files/variants.rhel6 b/Compiler/libxc/files/variants.rhel6 new file mode 100644 index 0000000..662e117 --- /dev/null +++ b/Compiler/libxc/files/variants.rhel6 @@ -0,0 +1 @@ +libxc/4.3.4 unstable intel/19.4 b:autoconf/2.69 b:automake/1.16.1 b:libtool/2.4.6-1 diff --git a/Compiler/libxc/modulefile b/Compiler/libxc/modulefile new file mode 100644 index 0000000..361154a --- /dev/null +++ b/Compiler/libxc/modulefile @@ -0,0 +1,13 @@ +#%Module1.0 + +module-whatis "library of exchange-correlation functionals for density-functional theory" +module-url "https://gitlab.com/libxc/libxc" +module-license "Mozilla Public License Version 2.0" +module-maintainer "Achim Gsell " +module-help " +Libxc is a library of exchange-correlation functionals for +density-functional theory. The aim is to provide a portable, well +tested and reliable set of exchange and correlation functionals that +can be used by a variety of programs. +" + From 3eebd00aff9f9eb2e59745f351317aabbb6a0da1 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 16:46:36 +0200 Subject: [PATCH 2/9] libint: new build-block added --- Compiler/libint-lmax6/build | 27 ++++++++++++++++++++++ Compiler/libint-lmax6/files/variants.rhel6 | 1 + Compiler/libint-lmax6/modulefile | 11 +++++++++ 3 files changed, 39 insertions(+) create mode 100755 Compiler/libint-lmax6/build create mode 100644 Compiler/libint-lmax6/files/variants.rhel6 create mode 100644 Compiler/libint-lmax6/modulefile diff --git a/Compiler/libint-lmax6/build b/Compiler/libint-lmax6/build new file mode 100755 index 0000000..fb632ea --- /dev/null +++ b/Compiler/libint-lmax6/build @@ -0,0 +1,27 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://github.com/cp2k/libint-cp2k/releases/download/v${V_PKG}/libint-v${V_PKG}-cp2k-lmax-6.tgz" +pbuild::add_to_group 'Compiler' + +#pbuild::install_docfiles 'CONTRIBUTING.md' +#pbuild::install_docfiles 'LICENSE.md' +#pbuild::install_docfiles 'README.md' + +pbuild::compile_in_sourcetree + +pbuild::post_prep() { + sed -i 's/(CXX)/(FC)/g' fortran/Makefile.in +} + +pbuild::pre_configure() { + local -a cxxflags=() + cxxflags+=('-O2' '-fPIC' '-g1') + cxxflags+=('-fp-model precise' '-funroll-loops') + cxxflags+=('-traceback' '-xHost') + + pbuild::add_configure_args "--with-cxx=${CXX}" + pbuild::add_configure_args "--with-cxx-optflags=${cxxflags[*]}" + pbuild::add_configure_args "--with-fc=ifort" + pbuild::add_configure_args "--enable-fortran" +} + diff --git a/Compiler/libint-lmax6/files/variants.rhel6 b/Compiler/libint-lmax6/files/variants.rhel6 new file mode 100644 index 0000000..c8946d2 --- /dev/null +++ b/Compiler/libint-lmax6/files/variants.rhel6 @@ -0,0 +1 @@ +libint-lmax6/2.6.0 unstable intel/19.4 b:Python/3.7.4 diff --git a/Compiler/libint-lmax6/modulefile b/Compiler/libint-lmax6/modulefile new file mode 100644 index 0000000..7250d87 --- /dev/null +++ b/Compiler/libint-lmax6/modulefile @@ -0,0 +1,11 @@ +#%Module1.0 + +module-whatis "evaluation of molecular integrals of many-body operators over Gaussian functions" +module-url "https://github.com/evaleev/libint" +module-license "GNU LGPL, version 3; GNU GPL, version 3" +module-maintainer "Achim Gsell " +module-help " +A library for the evaluation of molecular integrals of many-body +operators over Gaussian functions. +" + From 6eb45fb08ca2ed4e2582788d046a273ff4f38c92 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 16:48:47 +0200 Subject: [PATCH 3/9] libxsmm: new build-block added --- Compiler/libxsmm/build | 19 +++++++++++++++++++ Compiler/libxsmm/files/variants.rhel6 | 1 + Compiler/libxsmm/modulefile | 17 +++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100755 Compiler/libxsmm/build create mode 100644 Compiler/libxsmm/files/variants.rhel6 create mode 100644 Compiler/libxsmm/modulefile diff --git a/Compiler/libxsmm/build b/Compiler/libxsmm/build new file mode 100755 index 0000000..a4562b2 --- /dev/null +++ b/Compiler/libxsmm/build @@ -0,0 +1,19 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://github.com/hfp/libxsmm/archive/1.13/libxsmm-1.13.tar.gz" +pbuild::add_to_group 'Compiler' + +pbuild::install_docfiles 'CONTRIBUTING.md' +pbuild::install_docfiles 'LICENSE.md' +pbuild::install_docfiles 'README.md' + +pbuild::compile_in_sourcetree + +pbuild::configure() { + : +} + +pbuild::compile() { + make PREFIX="${PREFIX}" +} + diff --git a/Compiler/libxsmm/files/variants.rhel6 b/Compiler/libxsmm/files/variants.rhel6 new file mode 100644 index 0000000..c747216 --- /dev/null +++ b/Compiler/libxsmm/files/variants.rhel6 @@ -0,0 +1 @@ +libxsmm/1.13 unstable intel/19.4 diff --git a/Compiler/libxsmm/modulefile b/Compiler/libxsmm/modulefile new file mode 100644 index 0000000..511a7bf --- /dev/null +++ b/Compiler/libxsmm/modulefile @@ -0,0 +1,17 @@ +#%Module1.0 + +module-whatis "specialized dense and sparse matrix operations and deep learning primitives" +module-url "https://github.com/hfp/libxsmm" +module-license "BSD 3-Clause License" +module-maintainer "Achim Gsell " +module-help " +LIBXSMM is a library for specialized dense and sparse matrix operations +as well as for deep learning primitives such as small convolutions +targeting Intel Architecture. Small marix multiplication kernels (SMMs) +are generated for Intel SSE, Intel AVX, Intel AVX2, and Intel AVX-512 +as found in the Intel Xeon Phi processor family (KNL, KNM) and Intel +Xeon processors (SKX). Highly optimized code for small convolutions +is targeting Intel AVX2 and Intel AVX-512, whereas other targets can +automatically leverage specialized SMMs to perform convolutions. +" + From b3e7609c1cc9164edfbf75bd3fe82d1dc68cc93d Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 16:56:54 +0200 Subject: [PATCH 4/9] elpa: new build-block added --- MPI/elpa/build | 72 +++++++++++++++++++++++++++++++++++ MPI/elpa/files/variants.rhel6 | 2 + MPI/elpa/modulefile | 36 ++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100755 MPI/elpa/build create mode 100644 MPI/elpa/files/variants.rhel6 create mode 100644 MPI/elpa/modulefile diff --git a/MPI/elpa/build b/MPI/elpa/build new file mode 100755 index 0000000..6643161 --- /dev/null +++ b/MPI/elpa/build @@ -0,0 +1,72 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "http://elpa.mpcdf.mpg.de/html/Releases/${V_PKG}/$P-${V_PKG}.tar.gz" +pbuild::add_to_group 'MPI' +pbuild::use_autotools +pbuild::install_docfiles 'COPYING/COPYING' +pbuild::install_docfiles 'COPYING/gpl.txt' +pbuild::install_docfiles 'COPYING/lgpl.txt' + +pbuild::supported_os Linux +pbuild::supported_compilers Intel + +pbuild::pre_configure() { + local -r MKL_LIBRARY_DIR=${MKLROOT}/lib/intel64 + local -r MKL_INCLUDE_DIR=${MKLROOT}/include + + local -a flags=() + if pbuild::use_flag "omp"; then + flags+=('-qopenmp') + pbuild::add_configure_args "--enable-openmp" + else + flags+=('-qno-openmp') + fi + flags+=('-O2' '-fPIC' '-g') + flags+=('-fp-model precise' '-funroll-loops') + flags+=('-traceback' '-xHost') + + local -a cflags=() + cflags+=("${flags[@]}") + cflags+=('-I${MKL_INCLUDE_DIR}') + + local -a fcflags=() + fcflags+=("${flags[@]}") + fcflags+=( '-fpp' '-free') + fcflags+=("-I${MKL_INCLUDE_DIR}/intel64/lp64") + + local -a ldflags=() + ldflags+=("-L${MKL_LIBRARY_DIR}") + ldflags+=('-lmkl_scalapack_lp64' '-lmkl_intel_lp64' '-lmkl_sequential') + ldflags+=('-lmkl_core' '-lmkl_blacs_intelmpi_lp64' '-lpthread') + + local -a scalapack_fcflags=() + scalapack_fcflags+=( "${ldflags[@]}" ) + scalapack_fcflags+=("-I${MKL_INCLUDE_DIR}/intel64/lp64") + + local -a scalapack_ldflags=() + scalapack_ldflags+=( "${ldflags[@]}" ) + scalapack_ldflags+=("-Wl,-rpath,${MKL_LIBRARY_DIR}") + + pbuild::add_configure_args "CC=${MPICC}" + pbuild::add_configure_args "CXX=${MPICXX}" + pbuild::add_configure_args "FC=${MPIFC}" + pbuild::add_configure_args "CFLAGS=${cflags[*]}" + pbuild::add_configure_args "CXXFLAGS=${cflags[*]}" + pbuild::add_configure_args "FCFLAGS=${fcflags[*]}" + pbuild::add_configure_args "LDFLAGS=${ldflags[*]}" + pbuild::add_configure_args "SCALAPACK_FCFLAGS=${scalapack_fcflags[*]}" + pbuild::add_configure_args "SCALAPACK_LDLAGS=${scalapack_ldflags[*]}" + pbuild::add_configure_args "--disable-shared" + pbuild::add_configure_args "--enable-static" + pbuild::add_configure_args "--enable-avx512" +} + +pbuild::post_install() { + if pbuild::use_flag "omp"; then + ln -fs "elpa_openmp-${V_PKG}/elpa" "${PREFIX}/include/elpa" + ln -fs "elpa_openmp-${V_PKG}/modules" "${PREFIX}/include/modules" + else + ln -fs "elpa-${V_PKG}/elpa" "${PREFIX}/include/elpa" + ln -fs "elpa-${V_PKG}/modules" "${PREFIX}/include/modules" + fi +} diff --git a/MPI/elpa/files/variants.rhel6 b/MPI/elpa/files/variants.rhel6 new file mode 100644 index 0000000..f25fd61 --- /dev/null +++ b/MPI/elpa/files/variants.rhel6 @@ -0,0 +1,2 @@ +elpa/2019.05.001 unstable intel/19.4 impi/19.4 +elpa/2019.05.001_omp unstable intel/19.4 impi/19.4 diff --git a/MPI/elpa/modulefile b/MPI/elpa/modulefile new file mode 100644 index 0000000..539972a --- /dev/null +++ b/MPI/elpa/modulefile @@ -0,0 +1,36 @@ +#%Module1.0 + +module-whatis "Eigenvalue SoLvers for Petaflop-Applications" +module-url "https://elpa.mpcdf.mpg.de" +module-license "GNU LGPL, version 3" +module-maintainer "Achim Gsell " +module-help " +The computation of selected or all eigenvalues and eigenvectors of a +symmetric (Hermitian) matrix has high relevance for various scientific +disciplines. + +For the calculation of a significant part of the eigensystem typically +direct eigensolvers are used. For large problems, the eigensystem +calculations with existing solvers can become the computational +bottleneck. + +As a consequence, the ELPA project was initiated with the aim to +develop and implement an efficient eigenvalue solver for petaflop +applications, supported by the German Federal Government, through +BMBF Grant 01IH08007, from Dec 2008 to Nov 2011. + +The challenging task has been addressed through a multi-disciplinary +consortium of partners with complementary skills in different areas. + +As project outcome, the highly scalable and efficient direct eigen- +solvers LPA have been developed. The ELPA library was publicly +released in May 2011. + +Since the end of BMBF Grant 01IH08007 in Nov 2011, the ELPA library +has been maintained by RZG - renamed to MPCDF in 2015. + +Through the BMBF Grant 01IH15001 (Project ELPA-AEO from Feb 2016 to +Jan 2019) the ELPA library could be further optimized, enhanced and +ported to new architectures. +" + From 4b6c16f988f2309da59c2bd4c149d3ee047482d6 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 17:11:59 +0200 Subject: [PATCH 5/9] cuda: released all available versions as stable --- Programming/cuda/files/{variants => variants.rhel6} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Programming/cuda/files/{variants => variants.rhel6} (100%) diff --git a/Programming/cuda/files/variants b/Programming/cuda/files/variants.rhel6 similarity index 100% rename from Programming/cuda/files/variants rename to Programming/cuda/files/variants.rhel6 From c00898e715275baa2d163c9e1bb37b6da1a66a6e Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 20 Sep 2019 17:25:54 +0200 Subject: [PATCH 6/9] cuda: released all available versions as stable --- Programming/cuda/files/variants.rhel6 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Programming/cuda/files/variants.rhel6 b/Programming/cuda/files/variants.rhel6 index df1c7b5..ca3e551 100644 --- a/Programming/cuda/files/variants.rhel6 +++ b/Programming/cuda/files/variants.rhel6 @@ -1,2 +1,5 @@ cuda/8.0.44 stable -cuda/9.2.148 unstable +cuda/9.0.176 stable +cuda/9.1.85 stable +cuda/9.2.148 stable +cuda/10.0.130 stable From 0822d517fde98d3f883df784ea6c5ae64d6e3a23 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Mon, 23 Sep 2019 18:18:41 +0200 Subject: [PATCH 7/9] libxc: 4.3.4 released as stable --- Compiler/libxc/files/variants.rhel6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compiler/libxc/files/variants.rhel6 b/Compiler/libxc/files/variants.rhel6 index 662e117..945899d 100644 --- a/Compiler/libxc/files/variants.rhel6 +++ b/Compiler/libxc/files/variants.rhel6 @@ -1 +1 @@ -libxc/4.3.4 unstable intel/19.4 b:autoconf/2.69 b:automake/1.16.1 b:libtool/2.4.6-1 +libxc/4.3.4 stable intel/19.4 b:autoconf/2.69 b:automake/1.16.1 b:libtool/2.4.6-1 From 73ef61a279c057057783d9184f651539245ab30d Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Mon, 23 Sep 2019 18:21:29 +0200 Subject: [PATCH 8/9] libxsmm: 1.13 released as stable --- Compiler/libxsmm/files/variants.rhel6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compiler/libxsmm/files/variants.rhel6 b/Compiler/libxsmm/files/variants.rhel6 index c747216..5fe9df5 100644 --- a/Compiler/libxsmm/files/variants.rhel6 +++ b/Compiler/libxsmm/files/variants.rhel6 @@ -1 +1 @@ -libxsmm/1.13 unstable intel/19.4 +libxsmm/1.13 stable intel/19.4 From 31b61d9eba9accec7bf94a6550680f98245fd877 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Mon, 23 Sep 2019 18:23:38 +0200 Subject: [PATCH 9/9] libint-lmax6: 2.6.0 released as stable --- Compiler/libint-lmax6/files/variants.rhel6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compiler/libint-lmax6/files/variants.rhel6 b/Compiler/libint-lmax6/files/variants.rhel6 index c8946d2..d7560da 100644 --- a/Compiler/libint-lmax6/files/variants.rhel6 +++ b/Compiler/libint-lmax6/files/variants.rhel6 @@ -1 +1 @@ -libint-lmax6/2.6.0 unstable intel/19.4 b:Python/3.7.4 +libint-lmax6/2.6.0 stable intel/19.4 b:Python/3.7.4