From 85e86a30dee7c5eed40d54e7365ebdc06f340c57 Mon Sep 17 00:00:00 2001 From: Damian Alvarez <swmanage@jwlogin04.juwels> Date: Tue, 25 May 2021 19:06:32 +0200 Subject: [PATCH] New set of toolchains for the 2020 update --- .../flexible_custom_hierarchical_mns.py | 2 +- Custom_Toolchains/iimpi.py | 111 ++++++++++++++++++ Custom_Toolchains/iompi.py | 109 +++++++++++++++++ Custom_Toolchains/ipsmpi.py | 109 +++++++++++++++++ Golden_Repo/g/GCC/GCC-10.3.0.eb | 6 - Golden_Repo/g/gpsmkl/gpsmkl-2021.eb | 25 ++++ Golden_Repo/g/gpsmpi/gpsmpi-2021.eb | 20 ++++ Golden_Repo/i/iimpi/iimpi-2021.eb | 20 ++++ .../i/imkl/imkl-2020.4.304-ipsmpi-2020.eb | 2 +- .../i/imkl/imkl-2021.2.0-gompi-2021.eb | 20 +++- .../i/imkl/imkl-2021.2.0-gpsmpi-2021.eb | 36 ++++++ .../i/imkl/imkl-2021.2.0-iimpi-2021.eb | 36 ++++++ .../i/imkl/imkl-2021.2.0-iompi-2021.eb | 36 ++++++ .../i/imkl/imkl-2021.2.0-ipsmpi-2021.eb | 36 ++++++ .../i/imkl/imkl-2021.2.0-npsmpic-2021.eb | 39 ++++++ Golden_Repo/i/imkl/imkl-2021.2.0.eb | 20 +++- ...2.0-intel-compilers-2021.2.0-GCC-10.3.0.eb | 20 ++++ .../intel-compilers-2021.2.0-GCC-10.3.0.eb | 34 ++++++ Golden_Repo/i/intel-para/intel-para-2021.eb | 25 ++++ Golden_Repo/i/intel/intel-2021.eb | 22 ++++ Golden_Repo/i/iompi/iompi-2021.eb | 21 ++++ Golden_Repo/i/ipsmpi/ipsmpi-2021.eb | 20 ++++ Golden_Repo/n/NVHPC/NVHPC-21.4-GCC-10.3.0.eb | 82 +++++++++++++ Golden_Repo/n/npsmpic/npsmpic-2021.eb | 21 ++++ .../o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb | 12 +- .../OpenMPI-4.1.1-NVHPC-21.4-GCC-10.3.0.eb | 63 ++++++++++ ...1.1-intel-compilers-2021.2.0-GCC-10.3.0.eb | 63 ++++++++++ .../p/pscom/pscom-5.4-default-CUDA-11.3.eb | 50 ++++++++ .../p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb | 43 +++++++ .../psmpi-5.4.9-1-NVHPC-21.4-GCC-10.3.0.eb | 53 +++++++++ ...-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb | 44 +++++++ ...9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb | 43 +++++++ .../u/UCX/{UCX-1.10.0.eb => UCX-1.10.1.eb} | 4 +- .../impi-2021.2.0-intel-compilers-2021.2.0.eb | 18 +++ .../p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb | 38 ++++++ ...-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb | 39 ++++++ ...9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb | 38 ++++++ 37 files changed, 1352 insertions(+), 28 deletions(-) create mode 100644 Custom_Toolchains/iimpi.py create mode 100644 Custom_Toolchains/iompi.py create mode 100644 Custom_Toolchains/ipsmpi.py create mode 100644 Golden_Repo/g/gpsmkl/gpsmkl-2021.eb create mode 100644 Golden_Repo/g/gpsmpi/gpsmpi-2021.eb create mode 100644 Golden_Repo/i/iimpi/iimpi-2021.eb create mode 100644 Golden_Repo/i/imkl/imkl-2021.2.0-gpsmpi-2021.eb create mode 100644 Golden_Repo/i/imkl/imkl-2021.2.0-iimpi-2021.eb create mode 100644 Golden_Repo/i/imkl/imkl-2021.2.0-iompi-2021.eb create mode 100644 Golden_Repo/i/imkl/imkl-2021.2.0-ipsmpi-2021.eb create mode 100644 Golden_Repo/i/imkl/imkl-2021.2.0-npsmpic-2021.eb create mode 100644 Golden_Repo/i/impi/impi-2021.2.0-intel-compilers-2021.2.0-GCC-10.3.0.eb create mode 100644 Golden_Repo/i/intel-compilers/intel-compilers-2021.2.0-GCC-10.3.0.eb create mode 100644 Golden_Repo/i/intel-para/intel-para-2021.eb create mode 100644 Golden_Repo/i/intel/intel-2021.eb create mode 100644 Golden_Repo/i/iompi/iompi-2021.eb create mode 100644 Golden_Repo/i/ipsmpi/ipsmpi-2021.eb create mode 100644 Golden_Repo/n/NVHPC/NVHPC-21.4-GCC-10.3.0.eb create mode 100644 Golden_Repo/n/npsmpic/npsmpic-2021.eb create mode 100644 Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-NVHPC-21.4-GCC-10.3.0.eb create mode 100644 Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0-GCC-10.3.0.eb create mode 100644 Golden_Repo/p/pscom/pscom-5.4-default-CUDA-11.3.eb create mode 100644 Golden_Repo/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb create mode 100644 Golden_Repo/p/psmpi/psmpi-5.4.9-1-NVHPC-21.4-GCC-10.3.0.eb create mode 100644 Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb create mode 100644 Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb rename Golden_Repo/u/UCX/{UCX-1.10.0.eb => UCX-1.10.1.eb} (95%) create mode 100644 Overlays/jurecabooster_overlay/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb create mode 100644 Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb create mode 100644 Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb create mode 100644 Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb diff --git a/Custom_MNS/flexible_custom_hierarchical_mns.py b/Custom_MNS/flexible_custom_hierarchical_mns.py index 640e87e73..861a209d4 100644 --- a/Custom_MNS/flexible_custom_hierarchical_mns.py +++ b/Custom_MNS/flexible_custom_hierarchical_mns.py @@ -64,7 +64,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): <name>/<version>[-<toolchain>] """ # We rename our iccifort compiler to INTEL and this needs a hard fix because it is a toolchain - if name == 'iccifort': + if name == 'iccifort' or name == 'intel-compilers': modname_regex = re.compile('^%s/\S+$' % re.escape('Intel')) elif name == 'psmpi': modname_regex = re.compile('^%s/\S+$' % re.escape('ParaStationMPI')) diff --git a/Custom_Toolchains/iimpi.py b/Custom_Toolchains/iimpi.py new file mode 100644 index 000000000..0a2104872 --- /dev/null +++ b/Custom_Toolchains/iimpi.py @@ -0,0 +1,111 @@ +## +# Copyright 2012-2021 Ghent University +# +# This file is part of EasyBuild, +# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), +# with support of Ghent University (http://ugent.be/hpc), +# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be), +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) +# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). +# +# https://github.com/easybuilders/easybuild +# +# EasyBuild is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation v2. +# +# EasyBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with EasyBuild. If not, see <http://www.gnu.org/licenses/>. +## +""" +EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI). + +:author: Stijn De Weirdt (Ghent University) +:author: Kenneth Hoste (Ghent University) +""" +from distutils.version import LooseVersion +import re + +from easybuild.toolchains.iccifort import IccIfort +from easybuild.toolchains.intel_compilers import IntelCompilersToolchain +from easybuild.toolchains.mpi.intelmpi import IntelMPI + + +class Iimpi(IccIfort, IntelCompilersToolchain, IntelMPI): + """ + Compiler toolchain with Intel compilers (icc/ifort), Intel MPI. + """ + NAME = 'iimpi' + # compiler-only subtoolchain can't be determine statically + # since depends on toolchain version (see below), + # so register both here as possible alternatives (which is taken into account elsewhere) + SUBTOOLCHAIN = [(IntelCompilersToolchain.NAME, IccIfort.NAME)] + + def __init__(self, *args, **kwargs): + """Constructor for Iimpi toolchain class.""" + + super(Iimpi, self).__init__(*args, **kwargs) + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', self.version): + # need to transform a version like '2016a' with something that is safe to compare with '8.0', '2016.01' + # comparing subversions that include letters causes TypeErrors in Python 3 + # 'a' is assumed to be equivalent with '.01' (January), and 'b' with '.07' (June) + # (good enough for this purpose) + self.iimpi_ver = self.version.replace('a', '.01').replace('b', '.07') + if LooseVersion(self.iimpi_ver) >= LooseVersion('2020.12'): + self.oneapi_gen = True + self.SUBTOOLCHAIN = IntelCompilersToolchain.NAME + self.COMPILER_MODULE_NAME = IntelCompilersToolchain.COMPILER_MODULE_NAME + else: + self.oneapi_gen = False + self.SUBTOOLCHAIN = IccIfort.NAME + self.COMPILER_MODULE_NAME = IccIfort.COMPILER_MODULE_NAME + else: + self.iimpi_ver = self.version + self.oneapi_gen = False + + def is_deprecated(self): + """Return whether or not this toolchain is deprecated.""" + + deprecated = False + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', str(self.iimpi_ver)): + loosever = LooseVersion(self.iimpi_ver) + # iimpi toolchains older than iimpi/2016.01 are deprecated + # iimpi 8.1.5 is an exception, since it used in intel/2016a (which is not deprecated yet) + if loosever < LooseVersion('8.0'): + deprecated = True + elif loosever > LooseVersion('2000') and loosever < LooseVersion('2016.01'): + deprecated = True + + return deprecated + + def is_dep_in_toolchain_module(self, *args, **kwargs): + """Check whether a specific software name is listed as a dependency in the module for this toolchain.""" + if self.oneapi_gen: + res = IntelCompilersToolchain.is_dep_in_toolchain_module(self, *args, **kwargs) + else: + res = IccIfort.is_dep_in_toolchain_module(self, *args, **kwargs) + + return res + + def _set_compiler_vars(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain._set_compiler_vars(self) + else: + IccIfort._set_compiler_vars(self) + + def set_variables(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain.set_variables(self) + else: + IccIfort.set_variables(self) diff --git a/Custom_Toolchains/iompi.py b/Custom_Toolchains/iompi.py new file mode 100644 index 000000000..e4f81ca0a --- /dev/null +++ b/Custom_Toolchains/iompi.py @@ -0,0 +1,109 @@ +## +# Copyright 2012-2021 Ghent University +# +# This file is part of EasyBuild, +# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), +# with support of Ghent University (http://ugent.be/hpc), +# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be), +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) +# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). +# +# https://github.com/easybuilders/easybuild +# +# EasyBuild is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation v2. +# +# EasyBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with EasyBuild. If not, see <http://www.gnu.org/licenses/>. +## +""" +EasyBuild support for iompi compiler toolchain (includes Intel compilers (icc, ifort) and OpenMPI. + +:author: Stijn De Weirdt (Ghent University) +:author: Kenneth Hoste (Ghent University) +:author: Damian Alvarez (Forschungszentrum Juelich GmbH) +""" +from distutils.version import LooseVersion +import re + +from easybuild.toolchains.iccifort import IccIfort +from easybuild.toolchains.intel_compilers import IntelCompilersToolchain +from easybuild.toolchains.mpi.openmpi import OpenMPI + + +class Iompi(IccIfort, IntelCompilersToolchain, OpenMPI): + """ + Compiler toolchain with Intel compilers (icc/ifort) and OpenMPI. + """ + NAME = 'iompi' + # compiler-only subtoolchain can't be determine statically + # since depends on toolchain version (see below), + # so register both here as possible alternatives (which is taken into account elsewhere) + SUBTOOLCHAIN = [(IntelCompilersToolchain.NAME, IccIfort.NAME)] + + def __init__(self, *args, **kwargs): + """Constructor for Iompi toolchain class.""" + + super(Iompi, self).__init__(*args, **kwargs) + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', self.version): + # need to transform a version like '2016a' with something that is safe to compare with '8.0', '2016.01' + # comparing subversions that include letters causes TypeErrors in Python 3 + # 'a' is assumed to be equivalent with '.01' (January), and 'b' with '.07' (June) + # (good enough for this purpose) + self.iompi_ver = self.version.replace('a', '.01').replace('b', '.07') + if LooseVersion(self.iompi_ver) >= LooseVersion('2020.12'): + self.oneapi_gen = True + self.SUBTOOLCHAIN = IntelCompilersToolchain.NAME + self.COMPILER_MODULE_NAME = IntelCompilersToolchain.COMPILER_MODULE_NAME + else: + self.oneapi_gen = False + self.SUBTOOLCHAIN = IccIfort.NAME + self.COMPILER_MODULE_NAME = IccIfort.COMPILER_MODULE_NAME + else: + self.ipsmpi_ver = self.version + self.oneapi_gen = False + + def is_deprecated(self): + """Return whether or not this toolchain is deprecated.""" + + deprecated = False + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', str(self.iompi_ver)): + loosever = LooseVersion(self.iompi_ver) + # iompi toolchains older than iompi/2016.x are deprecated + if loosever < LooseVersion('2017'): + deprecated = True + + return deprecated + + def is_dep_in_toolchain_module(self, *args, **kwargs): + """Check whether a specific software name is listed as a dependency in the module for this toolchain.""" + if self.oneapi_gen: + res = IntelCompilersToolchain.is_dep_in_toolchain_module(self, *args, **kwargs) + else: + res = IccIfort.is_dep_in_toolchain_module(self, *args, **kwargs) + + return res + + def _set_compiler_vars(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain._set_compiler_vars(self) + else: + IccIfort._set_compiler_vars(self) + + def set_variables(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain.set_variables(self) + else: + IccIfort.set_variables(self) diff --git a/Custom_Toolchains/ipsmpi.py b/Custom_Toolchains/ipsmpi.py new file mode 100644 index 000000000..ccb0767a2 --- /dev/null +++ b/Custom_Toolchains/ipsmpi.py @@ -0,0 +1,109 @@ +## +# Copyright 2012-2021 Ghent University +# +# This file is part of EasyBuild, +# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), +# with support of Ghent University (http://ugent.be/hpc), +# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be), +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) +# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). +# +# https://github.com/easybuilders/easybuild +# +# EasyBuild is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation v2. +# +# EasyBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with EasyBuild. If not, see <http://www.gnu.org/licenses/>. +## +""" +EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Parastation MPICH). + +:author: Stijn De Weirdt (Ghent University) +:author: Kenneth Hoste (Ghent University) +:author: Damian Alvarez (Forschungszentrum Juelich GmbH) +""" +from distutils.version import LooseVersion +import re + +from easybuild.toolchains.iccifort import IccIfort +from easybuild.toolchains.intel_compilers import IntelCompilersToolchain +from easybuild.toolchains.mpi.psmpi import Psmpi + + +class Ipsmpi(IccIfort, IntelCompilersToolchain, Psmpi): + """ + Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH. + """ + NAME = 'ipsmpi' + # compiler-only subtoolchain can't be determine statically + # since depends on toolchain version (see below), + # so register both here as possible alternatives (which is taken into account elsewhere) + SUBTOOLCHAIN = [(IntelCompilersToolchain.NAME, IccIfort.NAME)] + + def __init__(self, *args, **kwargs): + """Constructor for Ipsmpi toolchain class.""" + + super(Ipsmpi, self).__init__(*args, **kwargs) + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', self.version): + # need to transform a version like '2016a' with something that is safe to compare with '8.0', '2016.01' + # comparing subversions that include letters causes TypeErrors in Python 3 + # 'a' is assumed to be equivalent with '.01' (January), and 'b' with '.07' (June) + # (good enough for this purpose) + self.ipsmpi_ver = self.version.replace('a', '.01').replace('b', '.07') + if LooseVersion(self.ipsmpi_ver) >= LooseVersion('2020.12'): + self.oneapi_gen = True + self.SUBTOOLCHAIN = IntelCompilersToolchain.NAME + self.COMPILER_MODULE_NAME = IntelCompilersToolchain.COMPILER_MODULE_NAME + else: + self.oneapi_gen = False + self.SUBTOOLCHAIN = IccIfort.NAME + self.COMPILER_MODULE_NAME = IccIfort.COMPILER_MODULE_NAME + else: + self.ipsmpi_ver = self.version + self.oneapi_gen = False + + def is_deprecated(self): + """Return whether or not this toolchain is deprecated.""" + + deprecated = False + + # make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion + if re.match('^[0-9]', str(self.ipsmpi_ver)): + loosever = LooseVersion(self.ipsmpi_ver) + # ipsmpi toolchains older than ipsmpi/2016.x are deprecated + if loosever < LooseVersion('2017'): + deprecated = True + + return deprecated + + def is_dep_in_toolchain_module(self, *args, **kwargs): + """Check whether a specific software name is listed as a dependency in the module for this toolchain.""" + if self.oneapi_gen: + res = IntelCompilersToolchain.is_dep_in_toolchain_module(self, *args, **kwargs) + else: + res = IccIfort.is_dep_in_toolchain_module(self, *args, **kwargs) + + return res + + def _set_compiler_vars(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain._set_compiler_vars(self) + else: + IccIfort._set_compiler_vars(self) + + def set_variables(self): + """Intel compilers-specific adjustments after setting compiler variables.""" + if self.oneapi_gen: + IntelCompilersToolchain.set_variables(self) + else: + IccIfort.set_variables(self) diff --git a/Golden_Repo/g/GCC/GCC-10.3.0.eb b/Golden_Repo/g/GCC/GCC-10.3.0.eb index bcd3c4347..8b86ad75f 100644 --- a/Golden_Repo/g/GCC/GCC-10.3.0.eb +++ b/Golden_Repo/g/GCC/GCC-10.3.0.eb @@ -22,11 +22,5 @@ dependencies = [ altroot = 'GCCcore' altversion = 'GCCcore' -# We use a HMNS, so let's enforce a unique compiler -modluafooter = 'family("compiler")' - -# Always do a recursive unload on compilers -recursive_module_unload = True - # this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) moduleclass = 'compiler' diff --git a/Golden_Repo/g/gpsmkl/gpsmkl-2021.eb b/Golden_Repo/g/gpsmkl/gpsmkl-2021.eb new file mode 100644 index 000000000..fc53914f1 --- /dev/null +++ b/Golden_Repo/g/gpsmkl/gpsmkl-2021.eb @@ -0,0 +1,25 @@ +easyblock = "Toolchain" + +name = 'gpsmkl' +version = '2021' + +homepage = '(none)' +description = 'GCC and GFortran based compiler toolchain, ParaStation MPICH variant for MPI support and MKL' + +site_contacts = 'a.strube@fz-juelich.de' + +toolchain = SYSTEM + +local_compiler = ('GCC', '10.3.0') + +# toolchain used to build dependencies +local_comp_mpi_tc = ('gpsmpi', version) + +# compiler toolchain dependencies +dependencies = [ + local_compiler, + ('psmpi', '5.4.9-1', '', local_compiler), # part of gpsmpi toolchain + ('imkl', '2021.2.0', '', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/g/gpsmpi/gpsmpi-2021.eb b/Golden_Repo/g/gpsmpi/gpsmpi-2021.eb new file mode 100644 index 000000000..c350ae4fd --- /dev/null +++ b/Golden_Repo/g/gpsmpi/gpsmpi-2021.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gpsmpi' +version = '2021' + +homepage = '(none)' +description = 'GCC and GFortran based compiler toolchain, including Parastation MPICH2 for MPI support.' + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_compiler = ('GCC', '10.3.0') + +dependencies = [ + local_compiler, + ('psmpi', '5.4.9-1', '', local_compiler), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/i/iimpi/iimpi-2021.eb b/Golden_Repo/i/iimpi/iimpi-2021.eb new file mode 100644 index 000000000..63adcbca4 --- /dev/null +++ b/Golden_Repo/i/iimpi/iimpi-2021.eb @@ -0,0 +1,20 @@ +easyblock = "Toolchain" + +name = 'iimpi' +version = '2021' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = 'Intel C/C++ and Fortran compilers, alongside Intel MPI.' + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_compver = '2021.2.0' +local_gccsuffix = '-GCC-10.3.0' +dependencies = [ + ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix)), + ('impi', '2021.2.0', '', ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix))), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/i/imkl/imkl-2020.4.304-ipsmpi-2020.eb b/Golden_Repo/i/imkl/imkl-2020.4.304-ipsmpi-2020.eb index 6a4b54d86..f7ae5371a 100644 --- a/Golden_Repo/i/imkl/imkl-2020.4.304-ipsmpi-2020.eb +++ b/Golden_Repo/i/imkl/imkl-2020.4.304-ipsmpi-2020.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' -toolchain = {'version': '2020', 'name': 'iimpi'} +toolchain = {'version': '2020', 'name': 'ipsmpi'} source_urls = [ 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-gompi-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-gompi-2021.eb index 873755856..cadd10d47 100644 --- a/Golden_Repo/i/imkl/imkl-2021.2.0-gompi-2021.eb +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-gompi-2021.eb @@ -13,12 +13,24 @@ site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' toolchain = {'version': '2021', 'name': 'gompi'} -# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html source_urls = [ - 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17757'] -sources = ['l_onemkl_p_%(version)s.296_offline.sh'] -checksums = ['816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae'] + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] dontcreateinstalldir = 'True' +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-gpsmpi-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-gpsmpi-2021.eb new file mode 100644 index 000000000..a13daea86 --- /dev/null +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-gpsmpi-2021.eb @@ -0,0 +1,36 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, + and more. +""" + +site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' + +toolchain = {'version': '2021', 'name': 'gpsmpi'} + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = 'True' + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-iimpi-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-iimpi-2021.eb new file mode 100644 index 000000000..b3d4c5cd5 --- /dev/null +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-iimpi-2021.eb @@ -0,0 +1,36 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, + and more. +""" + +site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' + +toolchain = {'version': '2021', 'name': 'iimpi'} + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = 'True' + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-iompi-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-iompi-2021.eb new file mode 100644 index 000000000..d893cd896 --- /dev/null +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-iompi-2021.eb @@ -0,0 +1,36 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, + and more. +""" + +site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' + +toolchain = {'version': '2021', 'name': 'iompi'} + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = 'True' + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-ipsmpi-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-ipsmpi-2021.eb new file mode 100644 index 000000000..f7ff3b650 --- /dev/null +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-ipsmpi-2021.eb @@ -0,0 +1,36 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, + and more. +""" + +site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' + +toolchain = {'version': '2021', 'name': 'ipsmpi'} + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = 'True' + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0-npsmpic-2021.eb b/Golden_Repo/i/imkl/imkl-2021.2.0-npsmpic-2021.eb new file mode 100644 index 000000000..6cc0ce080 --- /dev/null +++ b/Golden_Repo/i/imkl/imkl-2021.2.0-npsmpic-2021.eb @@ -0,0 +1,39 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, + and more. +""" + +site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' + +toolchain = {'version': '2021', 'name': 'npsmpic'} + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = 'True' + +# NVHPC is not yet supported +interfaces = False + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/i/imkl/imkl-2021.2.0.eb b/Golden_Repo/i/imkl/imkl-2021.2.0.eb index 9fc08343d..4b7465d41 100644 --- a/Golden_Repo/i/imkl/imkl-2021.2.0.eb +++ b/Golden_Repo/i/imkl/imkl-2021.2.0.eb @@ -13,11 +13,10 @@ site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>' toolchain = SYSTEM -# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html source_urls = [ - 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17757'] -sources = ['l_onemkl_p_%(version)s.296_offline.sh'] -checksums = ['816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae'] + 'https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] dontcreateinstalldir = 'True' @@ -25,4 +24,17 @@ interfaces = False hidden = True +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + moduleclass = 'numlib' diff --git a/Golden_Repo/i/impi/impi-2021.2.0-intel-compilers-2021.2.0-GCC-10.3.0.eb b/Golden_Repo/i/impi/impi-2021.2.0-intel-compilers-2021.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000..24291d510 --- /dev/null +++ b/Golden_Repo/i/impi/impi-2021.2.0-intel-compilers-2021.2.0-GCC-10.3.0.eb @@ -0,0 +1,20 @@ +name = 'impi' +version = '2021.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/'] +sources = ['l_mpi_oneapi_p_%(version)s.215_offline.sh'] +checksums = ['d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3'] + +dependencies = [('UCX', '1.10.1', '', SYSTEM)] + +dontcreateinstalldir = 'True' +# set up all the mpi commands to work as expected +set_mpi_wrappers_all = 'True' + +moduleclass = 'mpi' diff --git a/Golden_Repo/i/intel-compilers/intel-compilers-2021.2.0-GCC-10.3.0.eb b/Golden_Repo/i/intel-compilers/intel-compilers-2021.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000..87b136dcc --- /dev/null +++ b/Golden_Repo/i/intel-compilers/intel-compilers-2021.2.0-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +name = 'intel-compilers' +version = '2021.2.0' +local_gccver = '10.3.0' +versionsuffix = f'-GCC-{local_gccver}' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.118_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/'], + 'filename': 'l_fortran-compiler_p_%(version)s.136_offline.sh', + }, +] +checksums = [ + # l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh + '5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59', + 'a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1', # l_fortran-compiler_p_2021.2.0.136_offline.sh +] + +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.36.1', '', ('GCCcore', local_gccver)), +] +moduleclass = 'compiler' diff --git a/Golden_Repo/i/intel-para/intel-para-2021.eb b/Golden_Repo/i/intel-para/intel-para-2021.eb new file mode 100644 index 000000000..371743ce1 --- /dev/null +++ b/Golden_Repo/i/intel-para/intel-para-2021.eb @@ -0,0 +1,25 @@ +easyblock = 'Toolchain' + +name = 'intel-para' +version = '2021' +versionsuffix = '' + +local_intelversion = '2021.2.0' +local_intelsuffix = '-GCC-10.3.0' + +homepage = '' +description = """intel-para provides Intel C/C++ and Fortran compilers, ParaStationMPI & Intel MKL. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +dependencies = [ + ('intel-compilers', local_intelversion, local_intelsuffix), + ('psmpi', '5.4.9-1', versionsuffix, ('intel-compilers', local_intelversion + local_intelsuffix)), + ('imkl', local_intelversion, versionsuffix, ('ipsmpi', version)), +] + + +moduleclass = 'toolchain' diff --git a/Golden_Repo/i/intel/intel-2021.eb b/Golden_Repo/i/intel/intel-2021.eb new file mode 100644 index 000000000..fac4a276a --- /dev/null +++ b/Golden_Repo/i/intel/intel-2021.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2021' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI & Intel MKL. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_gcc_comp_ver = '-GCC-10.3.0' +local_int_ver = '2021.2.0' +dependencies = [ + ('intel-compilers', local_int_ver, local_gcc_comp_ver), + ('impi', '2021.2.0', '', ('intel-compilers', f'{local_int_ver}{local_gcc_comp_ver}')), + ('imkl', local_int_ver, '', ('iimpi', '2021')), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/i/iompi/iompi-2021.eb b/Golden_Repo/i/iompi/iompi-2021.eb new file mode 100644 index 000000000..9b7e1d154 --- /dev/null +++ b/Golden_Repo/i/iompi/iompi-2021.eb @@ -0,0 +1,21 @@ +easyblock = "Toolchain" + +name = 'iompi' +version = '2021' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel C/C++ and Fortran compilers, alongside ParaStationMPI. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_compver = '2021.2.0' +local_gccsuffix = '-GCC-10.3.0' +dependencies = [ + ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix)), + ('OpenMPI', '4.1.1', '', ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix))), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/i/ipsmpi/ipsmpi-2021.eb b/Golden_Repo/i/ipsmpi/ipsmpi-2021.eb new file mode 100644 index 000000000..5ade94c78 --- /dev/null +++ b/Golden_Repo/i/ipsmpi/ipsmpi-2021.eb @@ -0,0 +1,20 @@ +easyblock = "Toolchain" + +name = 'ipsmpi' +version = '2021' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = 'Intel C/C++ and Fortran compilers, alongside ParaStationMPI.' + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_compver = '2021.2.0' +local_gccsuffix = '-GCC-10.3.0' +dependencies = [ + ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix)), + ('psmpi', '5.4.9-1', '', ('intel-compilers', '%s%s' % (local_compver, local_gccsuffix))), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/n/NVHPC/NVHPC-21.4-GCC-10.3.0.eb b/Golden_Repo/n/NVHPC/NVHPC-21.4-GCC-10.3.0.eb new file mode 100644 index 000000000..adcf1a04b --- /dev/null +++ b/Golden_Repo/n/NVHPC/NVHPC-21.4-GCC-10.3.0.eb @@ -0,0 +1,82 @@ +# For using $SYSTEMNAME to determine compute capability. The local prefix is to appease the checker +import os as local_os + +name = 'NVHPC' +version = '21.4' +local_gccver = '10.3.0' +versionsuffix = f'-GCC-{local_gccver}' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" +site_contacts = 'a.herten@fz-juelich.de' + +toolchain = SYSTEM + +# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'x86_64': + '391d5604a70f61bdd4ca6a3e4692f6f2391948990c8a35c395b6867341890031', + } +] + +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.36.1', '', ('GCCcore', local_gccver)), + ('CUDA', '11.3', '', SYSTEM), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.14', '', SYSTEM) +] + +module_add_cuda = False +cuda_compute_capabilities = { + 'juwels': '7.0', + 'juwelsbooster': '8.0', + 'jurecadc': '8.0', + 'jusuf': '7.0', + 'hdfml': '7.0' +}[local_os.environ['SYSTEMNAME']] + +# specify default CUDA version that should be used by NVHPC +# should match one of the CUDA versions that are included with this NVHPC version +# (see install_components/Linux_x86_64/20.7/cuda/) +# for NVHPC 20.7, those are: 11.0, 10.2, 10.1; +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="10.2" (for example) +default_cuda_version = '11.3' + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDAcore as a dependency, for example +# dependencies = [('CUDAcore', '11.0.2')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = "8.0" +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = False # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = False # Add NVHPC's NVIDIA Profilers +# module_add_nccl = False # Add NVHPC's NCCL library +# module_add_nvshmem = False # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/Golden_Repo/n/npsmpic/npsmpic-2021.eb b/Golden_Repo/n/npsmpic/npsmpic-2021.eb new file mode 100644 index 000000000..5909d0bec --- /dev/null +++ b/Golden_Repo/n/npsmpic/npsmpic-2021.eb @@ -0,0 +1,21 @@ +easyblock = 'Toolchain' + +name = 'npsmpic' +version = '2021' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including Parastation MPICH2 for MPI support.' + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '21.4-GCC-10.3.0') + +dependencies = [ + local_compiler, + ('CUDA', '11.3', '', SYSTEM), + ('psmpi', '5.4.9-1', '', local_compiler), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb index e66b2dc0f..01038b7be 100644 --- a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb +++ b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb @@ -9,6 +9,7 @@ description = """The Open MPI Project is an open source MPI-3 implementation.""" site_contacts = 'sc@fz-juelich.de' toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} source_urls = [ 'https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] @@ -30,7 +31,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.11'), ('hwloc', '2.4.1'), - ('UCX', '1.10.0', '', SYSTEM), + ('UCX', '1.10.1', '', SYSTEM), ('CUDA', '11.3', '', SYSTEM), ('libevent', '2.1.12'), ] @@ -59,13 +60,4 @@ sanity_check_paths = { 'dirs': [], } -# Add a family for our naming scheme -modluafooter = ''' -family("mpi") -add_property("arch","gpu") -if not ( isloaded("mpi-settings") ) then - load("mpi-settings") -end -''' - moduleclass = 'mpi' diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-NVHPC-21.4-GCC-10.3.0.eb b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-NVHPC-21.4-GCC-10.3.0.eb new file mode 100644 index 000000000..0b22ac110 --- /dev/null +++ b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-NVHPC-21.4-GCC-10.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'NVHPC', 'version': '21.4-GCC-10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'] + +osdependencies = [ + # needed for --with-verbs + ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), + # needed for --with-pmix + ('pmix-devel'), +] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.4.1'), + ('UCX', '1.10.1', '', SYSTEM), + ('CUDA', '11.3', '', SYSTEM), + ('libevent', '2.1.12'), +] + +configopts = '--enable-shared ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-verbs ' +configopts += '--with-libevent=$EBROOTLIBEVENT ' +configopts += '--without-orte ' +configopts += '--without-psm2 ' +configopts += '--disable-oshmem ' +configopts += '--with-cuda=$EBROOTCUDA ' +configopts += '--with-ime=/opt/ddn/ime ' +configopts += '--with-gpfs ' + +# to enable SLURM integration (site-specific) +configopts += '--with-slurm --with-pmix=external --with-libevent=external --with-ompi-pmix-rte' + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] + + ["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", + "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0-GCC-10.3.0.eb b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000..13c5bf27a --- /dev/null +++ b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0-GCC-10.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda'] + +osdependencies = [ + # needed for --with-verbs + ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), + # needed for --with-pmix + ('pmix-devel'), +] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.4.1'), + ('UCX', '1.10.1', '', SYSTEM), + ('CUDA', '11.3', '', SYSTEM), + ('libevent', '2.1.12'), +] + +configopts = '--enable-shared ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-verbs ' +configopts += '--with-libevent=$EBROOTLIBEVENT ' +configopts += '--without-orte ' +configopts += '--without-psm2 ' +configopts += '--disable-oshmem ' +configopts += '--with-cuda=$EBROOTCUDA ' +configopts += '--with-ime=/opt/ddn/ime ' +configopts += '--with-gpfs ' + +# to enable SLURM integration (site-specific) +configopts += '--with-slurm --with-pmix=external --with-libevent=external --with-ompi-pmix-rte' + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] + + ["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", + "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/p/pscom/pscom-5.4-default-CUDA-11.3.eb b/Golden_Repo/p/pscom/pscom-5.4-default-CUDA-11.3.eb new file mode 100644 index 000000000..c211dd677 --- /dev/null +++ b/Golden_Repo/p/pscom/pscom-5.4-default-CUDA-11.3.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'pscom' +local_cuda_ver = '11.3' +# Create drop-in replacement version that ensures overriding behaviour +version = f'5.4-default-CUDA-{local_cuda_ver}' +local_realversion = '5.4.7-1' +homepage = 'http://www.par-tec.com' +description = """ParaStation is a robust and efficient cluster middleware, consisting of a high-performance +communication layer (MPI) and a sophisticated management layer. +""" + +site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>' + +toolchain = SYSTEM + +source_urls = ['https://github.com/ParaStation/%(name)s/archive/'] +sources = ['%s.tar.gz' % local_realversion] + +builddependencies = [ + # Fails with binutils 2.34 + ('binutils', '2.36.1'), + ('popt', '1.16'), + ('CUDA', local_cuda_ver), +] + +dependencies = [ + ('UCX', '1.10.1'), +] + +preconfigopts = 'export UCP_LDFLAGS="-L$EBROOTUCX/lib" && ' +preconfigopts += 'export CUDA_LDFLAGS="-L$EBROOTNVIDIA/lib64" &&' + +configopts = '--enable-cuda --enable-ucp' + +sanity_check_paths = { + 'files': [ + 'include/%(name)s.h', + ('lib/libpscom.so', 'lib64/libpscom.so'), + ('lib/libpscom4ucp.so', 'lib64/libpscom4ucp.so'), + ('lib/libpscom4openib.so', 'lib64/libpscom4openib.so'), + ], + 'dirs': [], +} + +modextravars = { + 'PSCOMVERSION': '%s' % local_realversion, +} + +moduleclass = 'tools' diff --git a/Golden_Repo/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb new file mode 100644 index 000000000..826efad37 --- /dev/null +++ b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +name = 'psmpi' +version = '5.4.9-1' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] + +local_cuda_ver = '11.3' + +builddependencies = [('CUDA', local_cuda_ver, '', SYSTEM)] +dependencies = [ + ('pscom', f'5.4-default-CUDA-{local_cuda_ver}', '', SYSTEM), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.10') +] + +patches = [ + 'psmpi_shebang.patch', + 'psmpi-5.4.6-1_ime.patch' +] + +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting +# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support +mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio' + +preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' + +threaded = False + +cuda = True + +moduleclass = 'mpi' diff --git a/Golden_Repo/p/psmpi/psmpi-5.4.9-1-NVHPC-21.4-GCC-10.3.0.eb b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-NVHPC-21.4-GCC-10.3.0.eb new file mode 100644 index 000000000..ae8e1b502 --- /dev/null +++ b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-NVHPC-21.4-GCC-10.3.0.eb @@ -0,0 +1,53 @@ +name = 'psmpi' +version = '5.4.9-1' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'NVHPC', 'version': '21.4-GCC-10.3.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] + +local_cuda_ver = '11.3' + +builddependencies = [('CUDA', local_cuda_ver, '', SYSTEM)] +dependencies = [ + ('pscom', f'5.4-default-CUDA-{local_cuda_ver}', '', SYSTEM), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.10') +] + +patches = [ + 'psmpi_shebang.patch', + 'psmpi-5.4.6-1_ime.patch' +] + +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting +# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support +mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio' + +preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' + +threaded = False + +cuda = True + +# We need this here since the hook does not consider the compiler toolchain when injecting these vars +# Add a family for our naming scheme +modluafooter = ''' +add_property("arch","gpu") +family("mpi") +if not ( isloaded("mpi-settings/CUDA") ) then + load("mpi-settings/CUDA") +end +''' + +moduleclass = 'mpi' diff --git a/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb new file mode 100644 index 000000000..b8184df6b --- /dev/null +++ b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb @@ -0,0 +1,44 @@ +name = 'psmpi' +version = '5.4.9-1' +versionsuffix = '-mt' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] + +local_cuda_ver = '11.3' + +builddependencies = [('CUDA', local_cuda_ver, '', SYSTEM)] +dependencies = [ + ('pscom', f'5.4-default-CUDA-{local_cuda_ver}', '', SYSTEM), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.10') +] + +patches = [ + 'psmpi_shebang.patch', + 'psmpi-5.4.6-1_ime.patch' +] + +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting +# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support +mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio' + +preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' + +threaded = True + +cuda = True + +moduleclass = 'mpi' diff --git a/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000..970c784a1 --- /dev/null +++ b/Golden_Repo/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +name = 'psmpi' +version = '5.4.9-1' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] + +local_cuda_ver = '11.3' + +builddependencies = [('CUDA', local_cuda_ver, '', SYSTEM)] +dependencies = [ + ('pscom', f'5.4-default-CUDA-{local_cuda_ver}', '', SYSTEM), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.10') +] + +patches = [ + 'psmpi_shebang.patch', + 'psmpi-5.4.6-1_ime.patch' +] + +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting +# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support +mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio' + +preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' + +threaded = False + +cuda = True + +moduleclass = 'mpi' diff --git a/Golden_Repo/u/UCX/UCX-1.10.0.eb b/Golden_Repo/u/UCX/UCX-1.10.1.eb similarity index 95% rename from Golden_Repo/u/UCX/UCX-1.10.0.eb rename to Golden_Repo/u/UCX/UCX-1.10.1.eb index 4e0a6a0c9..a8744ddf6 100644 --- a/Golden_Repo/u/UCX/UCX-1.10.0.eb +++ b/Golden_Repo/u/UCX/UCX-1.10.1.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'UCX' -version = '1.10.0' +version = '1.10.1' homepage = 'https://www.openucx.org' description = """Unified Communication X @@ -16,7 +16,7 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.gz'] -checksums = ['b885e24b1b94724c03cb213c355381e98df1e2d1fd7f633cf8055b6dd05db92d'] +checksums = ['ae9a108af6842ca135e7ec9b6131469adf9f1e50f899349fafcc69a215368bc9'] builddependencies = [ ('binutils', '2.36.1'), diff --git a/Overlays/jurecabooster_overlay/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb b/Overlays/jurecabooster_overlay/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb new file mode 100644 index 000000000..fba329057 --- /dev/null +++ b/Overlays/jurecabooster_overlay/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,18 @@ +name = 'impi' +version = '2021.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/'] +sources = ['l_mpi_oneapi_p_%(version)s.215_offline.sh'] +checksums = ['d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3'] + +dontcreateinstalldir = 'True' +# set up all the mpi commands to work as expected +set_mpi_wrappers_all = 'True' + +moduleclass = 'mpi' diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb new file mode 100644 index 000000000..1deb00fb9 --- /dev/null +++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +name = 'psmpi' +version = '5.4.9-1' +local_pscom_version = '5.4.7-1_gw' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [ + 'https://github.com/ParaStation/psmpi/archive/', + 'https://github.com/ParaStation/pscom/archive/' +] +sources = [ + '%(version)s.tar.gz', + 'pscom-%s.tar.bz2' % local_pscom_version +] + +builddependencies = [('popt', '1.16', '', True)] + +pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version +pgo = True + +patches = [ + 'psmpi_shebang.patch', +] + +mpich_opts = '--enable-static' +configopts = '--with-pscom-builtin=psm2' + +threaded = False + +moduleclass = 'mpi' diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb new file mode 100644 index 000000000..d6edb28fc --- /dev/null +++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0-mt.eb @@ -0,0 +1,39 @@ +name = 'psmpi' +version = '5.4.9-1' +versionsuffix = '-mt' +local_pscom_version = '5.4.7-1_gw' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} + +source_urls = [ + 'https://github.com/ParaStation/psmpi/archive/', + 'https://github.com/ParaStation/pscom/archive/' +] +sources = [ + '%(version)s.tar.gz', + 'pscom-%s.tar.bz2' % local_pscom_version +] + +builddependencies = [('popt', '1.16', '', True)] + +pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version +pgo = True + +patches = [ + 'psmpi_shebang.patch', +] + +mpich_opts = '--enable-static' +configopts = '--with-pscom-builtin=psm2' + +threaded = True + +moduleclass = 'mpi' diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000..854169875 --- /dev/null +++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.4.9-1-intel-compilers-2021.2.0-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +name = 'psmpi' +version = '5.4.9-1' +local_pscom_version = '5.4.7-1_gw' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0-GCC-10.3.0'} + +source_urls = [ + 'https://github.com/ParaStation/psmpi/archive/', + 'https://github.com/ParaStation/pscom/archive/' +] +sources = [ + '%(version)s.tar.gz', + 'pscom-%s.tar.bz2' % local_pscom_version +] + +builddependencies = [('popt', '1.16', '', True)] + +pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version +pgo = True + +patches = [ + 'psmpi_shebang.patch', +] + +mpich_opts = '--enable-static' +configopts = '--with-pscom-builtin=psm2' + +threaded = False + +moduleclass = 'mpi' -- GitLab