diff --git a/Custom_MNS/flexible_custom_hierarchical_mns.py b/Custom_MNS/flexible_custom_hierarchical_mns.py index 5129c2856e0d4e8ac923bfc60004e7d333f5abb4..8e102c05052bdc84e624c70376f2e6a451ed74a0 100644 --- a/Custom_MNS/flexible_custom_hierarchical_mns.py +++ b/Custom_MNS/flexible_custom_hierarchical_mns.py @@ -36,7 +36,7 @@ COMP_NAME_VERSION_TEMPLATES = { } # Compiler relevant version numbers -comp_relevant_versions = { +COMP_RELEVANT_VERSIONS = { 'intel': 1, 'intel-compilers': 1, 'PGI': 1, @@ -47,20 +47,26 @@ comp_relevant_versions = { # 'GCCcore': 1, } +# Allow to reuse the stacks from other MPIs +SWAPPABLE_MPIS = { + 'BullMPI': ('OpenMPI', None), + 'impi': ('psmpi', '5.6'), +} + # MPI relevant version numbers -mpi_relevant_versions = { +MPI_RELEVANT_VERSIONS = { 'impi': 1, - 'psmpi': 2, + 'psmpi': 1, 'MVAPICH2': 2, 'OpenMPI': 2, 'BullMPI': 2, } # MPIs with settings modules -mpi_with_settings = ['psmpi', 'impi', 'OpenMPI', 'BullMPI'] +MPI_WITH_SETTINGS = ['psmpi', 'impi', 'OpenMPI', 'BullMPI'] # Communication packages with settings modules -pkg_with_settings = ['UCX', 'NCCL', 'LWP'] +PKG_WITH_SETTINGS = ['UCX', 'NCCL', 'LWP'] class FlexibleCustomHierarchicalMNS(HierarchicalMNS): """Class implementing an example hierarchical module naming scheme.""" @@ -77,7 +83,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): modname_regex = re.compile('^%s/\S+$' % re.escape('ParaStationMPI')) elif name == 'impi': modname_regex = re.compile('^%s/\S+$' % re.escape('IntelMPI')) - elif name in ['-'.join([x, 'settings']) for x in mpi_with_settings]: + elif name in ['-'.join([x, 'settings']) for x in MPI_WITH_SETTINGS]: modname_regex = re.compile('^%s/\S+$' % re.escape('MPI-settings')) elif name == 'LWP-settings': # Match almost anything, since the name depends actually on the version, to avoid load conflicts @@ -95,9 +101,9 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): comp_name, comp_ver = comp_info # Strip the irrelevant bits of the version and append the suffix again - if comp_name in comp_relevant_versions: + if comp_name in COMP_RELEVANT_VERSIONS: suffix = '-'.join(comp_ver.split('-')[1:]) - comp_ver = '.'.join(comp_ver.split('.')[:comp_relevant_versions[comp_name]]) + comp_ver = '.'.join(comp_ver.split('.')[:COMP_RELEVANT_VERSIONS[comp_name]]) if suffix: comp_ver += '-%s' % suffix @@ -112,7 +118,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): # Find suffix, if any, to be appended. Try to be clever, since the suffix is embedded in the version # and sometimes the version might include a string that looks like a suffix (ie: psmpi-5.4.0-1) - if mpi_name in mpi_relevant_versions: + if mpi_name in MPI_RELEVANT_VERSIONS: # Find possible suffixes possible_suffixes = mpi_ver.split('-')[1:] suffix = '' @@ -124,7 +130,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): # suffix_index = 1 # suffix = '-'.join(mpi_ver.split('-')[suffix_index:]) - mpi_ver = '.'.join(mpi_ver.split('.')[:mpi_relevant_versions[mpi_name]]) + mpi_ver = '.'.join(mpi_ver.split('.')[:MPI_RELEVANT_VERSIONS[mpi_name]]) if suffix: mpi_ver += '-%s' % suffix @@ -176,10 +182,10 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): subdir = CORE # except if the module is a MPI settings module stripped_name = ec['name'].split('-settings')[0] - if stripped_name in mpi_with_settings: + if stripped_name in MPI_WITH_SETTINGS: subdir = os.path.join(MPI_SETTINGS, stripped_name, ec['version']) # or a module is for a package with settings - elif (stripped_name in pkg_with_settings and '-settings' in ec['name']): + elif (stripped_name in PKG_WITH_SETTINGS and '-settings' in ec['name']): subdir = os.path.join(PKG_SETTINGS, stripped_name) else: tc_comp_name, tc_comp_ver = self._find_relevant_compiler_info(tc_comp_info) @@ -207,7 +213,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): MPI-settings/plain, etc """ stripped_name = re.sub('-settings$', '', ec['name']) - if stripped_name in mpi_with_settings and '-settings' in ec['name']: + if stripped_name in MPI_WITH_SETTINGS and '-settings' in ec['name']: return os.path.join('MPI-settings', ec['versionsuffix']) elif stripped_name.startswith('LWP') and '-settings' in ec['name']: return os.path.join(ec['version'], 'enable') @@ -275,16 +281,16 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): tc_comp_name, tc_comp_ver = self._find_relevant_compiler_info(tc_comp_info) mpi_name, mpi_ver = self._find_relevant_mpi_info(ec) # Hack the module path extension, so BullMPI actually reuses the stack from OpenMPI - # instead of building everything on top unnecessarily - if mpi_name in 'BullMPI': - paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, 'OpenMPI', mpi_ver)) + # instead of building everything on top unnecessarily. Same for impi on top of psmpi + if mpi_name in SWAPPABLE_MPIS: + paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, SWAPPABLE_MPIS[mpi_name][0], SWAPPABLE_MPIS[mpi_name][1] or mpi_ver)) else: paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, mpi_name, mpi_ver)) - if ec['name'] in mpi_with_settings: + if ec['name'] in MPI_WITH_SETTINGS: paths.append(os.path.join(MPI_SETTINGS, mpi_name, mpi_ver)) - elif ec['name'] in pkg_with_settings: + elif ec['name'] in PKG_WITH_SETTINGS: paths.append(os.path.join(PKG_SETTINGS, ec['name'])) return paths diff --git a/Golden_Repo/README.md b/Golden_Repo/README.md index 4f4c6c69932e5d1530aeb095b6dde0babe6a9d09..a80185d681d856ed636b9d1d6ece352fc006f916 100644 --- a/Golden_Repo/README.md +++ b/Golden_Repo/README.md @@ -12,30 +12,30 @@ The table below shows the details of the toolchains in the 2023 stage: |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| | GCC | 11.3.0 | 11.3.0 | GCC 11.3.0 | | | | GCCcore | | NVHPC | TBD-GCC-11.3.0 | 11.3.0 | NVHPC TBD | | 11.7§ | | GCCcore | -| intel-compilers | 2022.2.0 | 11.3.0 | Intel 2022.2.0 | | | | GCCcore | +| intel-compilers | 2022.1.0 | 11.3.0 | Intel 2022.1.0 | | | | GCCcore | - Compilers+MPI | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| -| gpsmpi | 2022a | 11.3.0 | GCC 11.3.0 | ParaStationMPI 5.6.X | 11.7§ | | GCCcore, GCC | +| gpsmpi | 2022a | 11.3.0 | GCC 11.3.0 | ParaStationMPI 5.X | 11.7§ | | GCCcore, GCC | | nvompic | 2022a | 11.3.0 | NVHPC TBD | OpenMPI 4.1.X | 11.7 | | GCCcore, NVHPC | -| npsmpic | 2022a | 11.3.0 | NVHPC TBD | ParaStationMPI 5.6.X | 11.7 | | GCCcore, NVHPC | -| ipsmpi | 2022a | 11.3.0 | Intel 2022.2.0 | ParaStationMPI 5.6.X | 11.7§ | | GCCcore, intel-compilers | -| iimpi | 2022a | 11.3.0 | Intel 2022.2.0 | Intel MPI 2021.X.Y | | | GCCcore, intel-compilers | +| npsmpic | 2022a | 11.3.0 | NVHPC TBD | ParaStationMPI 5.X | 11.7 | | GCCcore, NVHPC | +| ipsmpi | 2022a | 11.3.0 | Intel 2022.1.0 | ParaStationMPI 5.X | 11.7§ | | GCCcore, intel-compilers | +| iimpi | 2022a | 11.3.0 | Intel 2022.1.0 | Intel MPI 2021.X.Y | | | GCCcore, intel-compilers | | gompi | 2022a | 11.3.0 | GCC 11.3.0 | OpenMPI 4.1.X | 11.7§ | | GCCcore, GCC | -| iompi | 2022a | 11.3.0 | Intel 2022.2.0 | OpenMPI 4.1.X | 11.7§ | | GCCcore, intel-compilers | +| iompi | 2022a | 11.3.0 | Intel 2022.1.0 | OpenMPI 4.1.X | 11.7§ | | GCCcore, intel-compilers | - Compilers+MPI+Math | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| | foss | 2022a | 11.3.0 | GCC 11.3.0 | OpenMPI 4.1.X | 11.7§ | FlexiBlas (MKL 2022.1.0, BLIS 0.9.0, OpenBLAS 0.3.20) | GCCcore, GCC, gopmpi | -| gpsmkl | 2022a | 11.3.0 | GCC 11.3.0 | ParaStationMPI 5.6.X | 11.7§ | MKL 2022.2.0 | GCCcore, GCC, gpsmpi | -| gomkl | 2022a | 11.3.0 | GCC 11.3.0 | OpenMPI 4.1.X | 11.7§ | MKL 2022.2.0 | GCCcore, GCC, gompi | -| intel | 2022a | 11.3.0 | Intel 2022.2.0 | Intel MPI 2021.X.Y | | MKL 2022.2.0 | GCCcore, GCC, iimpi | -| intel-para | 2022a | 11.3.0 | Intel 2022.2.0 | ParaStationMPI 5.6.X | | MKL 2022.2.0 | GCCcore, GCC, ipsmpi | -| iomkl | 2022a | 11.3.0 | Intel 2022.2.0 | OpenMPI 4.1.X | 11.7§ | MKL 2022.2.0 | GCCcore, GCC, iompi | +| gpsmkl | 2022a | 11.3.0 | GCC 11.3.0 | ParaStationMPI 5.X | 11.7§ | MKL 2022.1.0 | GCCcore, GCC, gpsmpi | +| gomkl | 2022a | 11.3.0 | GCC 11.3.0 | OpenMPI 4.1.X | 11.7§ | MKL 2022.1.0 | GCCcore, GCC, gompi | +| intel | 2022a | 11.3.0 | Intel 2022.1.0 | Intel MPI 2021.X.Y | | MKL 2022.1.0 | GCCcore, GCC, iimpi | +| intel-para | 2022a | 11.3.0 | Intel 2022.1.0 | ParaStationMPI 5.X | | MKL 2022.1.0 | GCCcore, GCC, ipsmpi | +| iomkl | 2022a | 11.3.0 | Intel 2022.1.0 | OpenMPI 4.1.X | 11.7§ | MKL 2022.1.0 | GCCcore, GCC, iompi | § Not included in the toolchain just as dependency diff --git a/Golden_Repo/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0.eb b/Golden_Repo/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..cc53034be273ec8a549f8dc8e75b161a9787fd98 --- /dev/null +++ b/Golden_Repo/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = "2.7.7" + +homepage = 'http://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions. +""" + + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_includes.patch'] +checksums = [ + '853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz + # ANTLR-2.7.7_includes.patch + 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), +] + +configopts = '--disable-examples --disable-csharp ' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/a/ARMForge/ARMForge-22.1.1.eb b/Golden_Repo/a/ARMForge/ARMForge-22.1.1.eb new file mode 100644 index 0000000000000000000000000000000000000000..ddaf64a03567435aef93a3da5e14d291bf8bae83 --- /dev/null +++ b/Golden_Repo/a/ARMForge/ARMForge-22.1.1.eb @@ -0,0 +1,43 @@ +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'EB_Allinea' + +name = 'ARMForge' +version = '22.1.1' + +homepage = 'https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge' +description = """ +Arm Forge is the leading server and HPC development tool suite in research, industry, and academia for C, C++, Fortran, +and Python high performance code on Linux. + +Arm Forge includes Arm DDT, the best debugger for time-saving high performance application debugging, Arm MAP, the +trusted performance profiler for invaluable optimization advice, and Arm Performance Reports to help you analyze your +HPC application runs. +""" + +usage = """For more information, type "ddt -h", "map -h" or "perf-report -h" + +For the ARMForge User Guide, please see: "$EBROOTARMFORGE/doc/userguide.pdf" +""" + +toolchain = SYSTEM + +source_urls = ['https://content.allinea.com/downloads/'] +sources = ['arm-forge-%(version)s-linux-x86_64.tar'] +checksums = ['392a7b0b4a212c506dc600ca2c37001cf85780ea2248fc47701953f12ef35300'] + +start_dir = '%(builddir)s/arm-forge-%(version)s-linux-x86_64/' +install_cmd = "./textinstall.sh --accept-licence %(installdir)s" +local_licdir = '/p/software/%s/licenses/armforge' % local_os.environ['SYSTEMNAME'] +license_file = [ + '%s/LicenseForge.lic' % local_licdir, + '%s/LicensePR.lic' % local_licdir +] + +sanity_check_paths = { + 'files': ['bin/ddt', 'bin/perf-report'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/a/ARPACK-NG/ARPACK-NG-3.8.0-gpsmkl-2022a.eb b/Golden_Repo/a/ARPACK-NG/ARPACK-NG-3.8.0-gpsmkl-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..b1bf17f80500d57dd14504ad19a96b779dfee91a --- /dev/null +++ b/Golden_Repo/a/ARPACK-NG/ARPACK-NG-3.8.0-gpsmkl-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = "3.8.0" + +homepage = 'https://github.com/opencollab/arpack-ng' +description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.""" + +toolchain = {'name': 'gpsmkl', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + + +source_urls = ['https://github.com/opencollab/arpack-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Eigen', '3.4.0') +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ["lib64/libarpack.la", "lib64/libarpack.%s" % SHLIB_EXT, + "lib64/libparpack.la", "lib64/libparpack.%s" % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/a/Apptainer-Tools/Apptainer-Tools-2023-GCCcore-11.3.0.eb b/Golden_Repo/a/Apptainer-Tools/Apptainer-Tools-2023-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..86fee652a1a4ceca55433d5b2949946e25c849fe --- /dev/null +++ b/Golden_Repo/a/Apptainer-Tools/Apptainer-Tools-2023-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' +name = 'Apptainer-Tools' +version = '2023' + +homepage = 'https://gitlab.version.fz-juelich.de/hps-public/container-build-system-cli' +description = """Apptainer-Tools contain a bunch of tools for Apptainer, + e.g. the JSC Build System CLI or singularity-compose. +""" + +site_contacts = 'Ruben Simons <r.simons@fz-juelich.de>' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('pretty-yaml', '21.10.1') +] + +use_pip = True + +exts_list = [ + ('semver', '2.13.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/semver'], + 'checksums': ['fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f'], + }), + ('spython', '0.3.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/spython'], + 'checksums': ['1bbadb18829aaf18e68bcdb9850e6e8c1e1be9066fbd4b71e1fff88f7d80b76f'], + }), + ('singularity-compose', '0.1.18', { + 'modulename': 'scompose', + 'source_urls': ['https://pypi.python.org/packages/source/p/singularity-compose'], + 'checksums': ['177de30bd8c7813bfe668af20e93a0fa9bed0f00541611a1a2cebff49812f54f'], + }), + ('sib', '0.1.1', { + 'modulename': 'singularitydb_client', + 'sources': ['container-build-system-cli-v%(version)s.tar.gz'], + 'checksums': ['ac008ec07b886470e916a590b965624d89e8206b491aaef697b8a425f3718dd6'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/Golden_Repo/b/BLIS/BLIS-0.9.0-GCCcore-11.3.0.eb b/Golden_Repo/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb similarity index 95% rename from Golden_Repo/b/BLIS/BLIS-0.9.0-GCCcore-11.3.0.eb rename to Golden_Repo/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb index 9d8b36beaea602c9ccb14e9ebbf403d3ee2bddc7..a24a015854f9d5fd10f82d0bd7b46efe363a7440 100644 --- a/Golden_Repo/b/BLIS/BLIS-0.9.0-GCCcore-11.3.0.eb +++ b/Golden_Repo/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb @@ -7,7 +7,7 @@ homepage = 'https://github.com/flame/blis/' description = """BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries.""" -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} source_urls = ['https://github.com/flame/blis/archive/'] sources = ['%(version)s.tar.gz'] diff --git a/Golden_Repo/c/CFITSIO/CFITSIO-4.0.0_install_test_data.patch b/Golden_Repo/c/CFITSIO/CFITSIO-4.0.0_install_test_data.patch new file mode 100644 index 0000000000000000000000000000000000000000..7437760d4d28a784837d940a78eafd5b0a5d8077 --- /dev/null +++ b/Golden_Repo/c/CFITSIO/CFITSIO-4.0.0_install_test_data.patch @@ -0,0 +1,13 @@ +--- Makefile.in.orig 2021-11-05 17:08:01.927879000 +0100 ++++ Makefile.in 2021-11-05 17:08:42.545401000 +0100 +@@ -31,8 +31,9 @@ + CFITSIO_BIN = ${DESTDIR}@bindir@ + CFITSIO_LIB = ${DESTDIR}@libdir@ + CFITSIO_INCLUDE = ${DESTDIR}@includedir@ +-INSTALL_DIRS = ${DESTDIR}@INSTALL_ROOT@ ${CFITSIO_INCLUDE} ${CFITSIO_LIB} ${CFITSIO_LIB}/pkgconfig ++CFITSIO_DATADIR = ${DESTDIR}@datadir@ + ++INSTALL_DIRS = ${DESTDIR}@INSTALL_ROOT@ ${CFITSIO_INCLUDE} ${CFITSIO_LIB} ${CFITSIO_LIB}/pkgconfig ${CFITSIO_DATADIR} + + SHELL = /bin/sh + ARCHIVE = @ARCHIVE@ diff --git a/Golden_Repo/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb b/Golden_Repo/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..6cc7df1d3d8e0514452dcc839a8609df861037f7 --- /dev/null +++ b/Golden_Repo/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.2.0' + +homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-4.0.0_install_test_data.patch'] +checksums = [ + {'cfitsio-4.2.0.tar.gz': 'eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889'}, + {'CFITSIO-4.0.0_install_test_data.patch': '75559db8b0648bc90ea9bb81a74acfd89913236ee0a2daf533477cddd37ea8a6'}, +] + +dependencies = [('cURL', '7.83.0')] + + +builddependencies = [ + ('binutils', '2.38'), +] + +# make would create just static libcfitsio.a. +# Let's create dynamic lib and testprog too. +buildopts = '&& make shared && make testprog' + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', 'lib/libcfitsio.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + ('cd %(installdir)s/share && testprog'), +] + +moduleclass = 'lib' diff --git a/Golden_Repo/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb b/Golden_Repo/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..8d1d5cf72bc4ae530886da63ec462b19e6f0950b --- /dev/null +++ b/Golden_Repo/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2018-2022 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer <m.geimer@fz-juelich.de> +# Christian Feld <c.feld@fz-juelich.de> +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeGUI' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ +Cube, which is used as performance report explorer for Scalasca and Score-P, +is a generic tool for displaying a multi-dimensional performance space +consisting of the dimensions (i) performance metric, (ii) call path, and +(iii) system resource. Each dimension can be represented as a tree, where +non-leaf nodes of the tree can be collapsed or expanded to achieve the +desired level of granularity. + +This module provides the Cube graphical report explorer. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/cubegui/tags/cubegui-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1df8fcaea95323e7eaf0cc010784a41243532c2123a27ce93cb7e3241557ff76'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('CubeLib', '4.8'), +] + +dependencies = [ + ('Qt5', '5.15.5'), +] + +sanity_check_paths = { + 'files': ['bin/cube', 'bin/cubegui-config', + ('lib/libcube4gui.a', 'lib64/libcube4gui.a'), + ('lib/libcube4gui.%s' % SHLIB_EXT, 'lib64/libcube4gui.%s' % SHLIB_EXT)], + 'dirs': ['include/cubegui', 'lib/cube-plugins'], +} + +# CubeGUI (and other Qt apps that use OpenGl) crash from time to time +# or don't show any output when using Qt's WebEngine with the default +# KNOB_MAX_WORKER_THREADS value of 65535. Even with a value of 10 this +# behavior doesn't vanish. Thus, don't use WebEngine at all, although +# it makes nicer output. +configopts = '--without-web-engine' + +moduleclass = 'perf' diff --git a/Golden_Repo/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb b/Golden_Repo/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..3a1685c1a907cf16af091f9b5caa121e680c0cb0 --- /dev/null +++ b/Golden_Repo/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2018-2022 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer <m.geimer@fz-juelich.de> +# Christian Feld <c.feld@fz-juelich.de> +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ +Cube, which is used as performance report explorer for Scalasca and Score-P, +is a generic tool for displaying a multi-dimensional performance space +consisting of the dimensions (i) performance metric, (ii) call path, and +(iii) system resource. Each dimension can be represented as a tree, where +non-leaf nodes of the tree can be collapsed or expanded to achieve the +desired level of granularity. + +This module provides the Cube general purpose C++ library component and +command-line tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/cubelib/tags/cubelib-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68', # cubelib-4.8.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubelib-config', + ('lib/libcube4.a', 'lib64/libcube4.a'), + ('lib/libcube4.%s' % SHLIB_EXT, 'lib64/libcube4.%s' % SHLIB_EXT)], + 'dirs': ['include/cubelib'], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb b/Golden_Repo/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..d80912fb8ac5f31595761f381fc987e619948fda --- /dev/null +++ b/Golden_Repo/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,57 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2018-2022 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer <m.geimer@fz-juelich.de> +# Christian Feld <c.feld@fz-juelich.de> +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeWriter' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ +Cube, which is used as performance report explorer for Scalasca and Score-P, +is a generic tool for displaying a multi-dimensional performance space +consisting of the dimensions (i) performance metric, (ii) call path, and +(iii) system resource. Each dimension can be represented as a tree, where +non-leaf nodes of the tree can be collapsed or expanded to achieve the +desired level of granularity. + +This module provides the Cube high-performance C writer library component. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/cubew/tags/cubew-%(version)s'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = [ + '73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3', # cubew-4.8.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubew-config', + ('lib/libcube4w.a', 'lib64/libcube4w.a'), + ('lib/libcube4w.%s' % SHLIB_EXT, 'lib64/libcube4w.%s' % SHLIB_EXT)], + 'dirs': ['include/cubew'], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/e/ecCodes/ecCodes-2.27.0-GCCcore-11.3.0-nompi.eb b/Golden_Repo/e/ecCodes/ecCodes-2.27.0-GCCcore-11.3.0-nompi.eb new file mode 100644 index 0000000000000000000000000000000000000000..846d0238f4e3f594c857b67c9c04ba79c97b7ab9 --- /dev/null +++ b/Golden_Repo/e/ecCodes/ecCodes-2.27.0-GCCcore-11.3.0-nompi.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.27.0' +versionsuffix = '-nompi' + +homepage = 'https://confluence.ecmwf.int/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('netCDF', '4.9.0', '-serial'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('libaec', '1.0.6'), +] + +# Python bindings are now provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_OMP_THREADS=ON" + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, + 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/f/FFTW/FFTW-3.3.10-GCCcore-11.3.0.eb b/Golden_Repo/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb similarity index 89% rename from Golden_Repo/f/FFTW/FFTW-3.3.10-GCCcore-11.3.0.eb rename to Golden_Repo/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb index 2e8ebbded3b019e4d759b0c59e54db705920e156..99e7044835e673f2744509f34db639d9485527a2 100644 --- a/Golden_Repo/f/FFTW/FFTW-3.3.10-GCCcore-11.3.0.eb +++ b/Golden_Repo/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb @@ -5,7 +5,7 @@ homepage = 'https://www.fftw.org' description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.""" -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = [homepage] diff --git a/Golden_Repo/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb b/Golden_Repo/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..c0fd2e643748f7c45ca8b1611ac8660aad8a8e9c --- /dev/null +++ b/Golden_Repo/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.8' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + 'f3c1102b07eb0e7a50538f9fc9037c18387165bc70d4b626e94ab725b9d4d1bf', # fltk-1.3.8-source.tar.gz + 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf', # FLTK-1.3.6_fix-LDFLAGS.patch +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.38'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('OpenGL', '2022a'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('xprop', '1.2.5'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCCcore-11.3.0.eb b/Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb similarity index 95% rename from Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCCcore-11.3.0.eb rename to Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb index 5f008c4373e47f0bc983412189066fbe347f6910..73c7f6deef16c3ed19d20d0cd40e6d0eb393685f 100644 --- a/Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCCcore-11.3.0.eb +++ b/Golden_Repo/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb @@ -7,10 +7,9 @@ homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation used by a program without recompiling or relinking it.""" -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" -toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, - 'extra_fflags': local_extra_flags} +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} builddependencies = [ ('CMake', '3.23.1'), diff --git a/Golden_Repo/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb b/Golden_Repo/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..7913bb7c2be21d7965d61fabf3a309fb06ccb78f --- /dev/null +++ b/Golden_Repo/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '2.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2'] + +dependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/Golden_Repo/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb b/Golden_Repo/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..080188887fdcc55261c7aab80b923925bb837172 --- /dev/null +++ b/Golden_Repo/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic <robert.mijakovic@lxp.lu> +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('Python', '3.10.4'), +] + +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON ' + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'devel' diff --git a/Golden_Repo/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb b/Golden_Repo/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ee5eb6a8fa86053f0e4e591703b6c54b090eceda --- /dev/null +++ b/Golden_Repo/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '9.1.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/f/foss/foss-2022a.eb b/Golden_Repo/f/foss/foss-2022a.eb index 023d0ad977b097a1b9825302af2c03d5a40fd826..99d57d2d5fa0d202211518d6e7ec0be52e1584cc 100644 --- a/Golden_Repo/f/foss/foss-2022a.eb +++ b/Golden_Repo/f/foss/foss-2022a.eb @@ -19,8 +19,8 @@ local_comp_mpi_tc = ('gompi', version) dependencies = [ ('GCC', local_gccver), ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), - ('FlexiBLAS', '3.2.0', '', ('GCCcore', local_gccver)), - ('FFTW', '3.3.10', '', ('GCCcore', local_gccver)), + ('FlexiBLAS', '3.2.0', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), ] diff --git a/Golden_Repo/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb b/Golden_Repo/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..22d687ed0f410f4145c65292ff79e811bbe80428 --- /dev/null +++ b/Golden_Repo/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/g/GLM/GLM-0.9.9.8_fix_missing_install.patch b/Golden_Repo/g/GLM/GLM-0.9.9.8_fix_missing_install.patch new file mode 100644 index 0000000000000000000000000000000000000000..cc9f8fcba8587316e67a56d71d1bd21f8405ca80 --- /dev/null +++ b/Golden_Repo/g/GLM/GLM-0.9.9.8_fix_missing_install.patch @@ -0,0 +1,15 @@ +Restore installation functionality which was removed in v0.9.9.6 + +Åke Sandgren, 20200519 +diff -ru glm-0.9.9.8.orig/CMakeLists.txt glm-0.9.9.8/CMakeLists.txt +--- glm-0.9.9.8.orig/CMakeLists.txt 2020-04-13 19:41:16.000000000 +0200 ++++ glm-0.9.9.8/CMakeLists.txt 2020-05-19 16:16:12.731259305 +0200 +@@ -8,6 +8,8 @@ + add_subdirectory(glm) + add_library(glm::glm ALIAS glm) + ++install(DIRECTORY glm DESTINATION "include") ++ + if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + + add_subdirectory(test) diff --git a/Golden_Repo/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb b/Golden_Repo/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..685f4c6618f960daaff658d518fcf7b63917dda1 --- /dev/null +++ b/Golden_Repo/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'GLPK' +version = '5.0' + +homepage = 'https://www.gnu.org/software/glpk/' +description = """The GLPK (GNU Linear Programming Kit) package is intended for + solving large-scale linear programming (LP), + mixed integer programming (MIP), and other related problems. + It is a set of routines written in ANSI C + and organized in the form of a callable library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb b/Golden_Repo/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..1330c197693fb4a1619de9517ccbb08c838423b0 --- /dev/null +++ b/Golden_Repo/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'GTK2' +version = '2.24.33' + +homepage = 'https://www.gtk.org' +description = """ + The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/gtk+/%(version_major_minor)s'] +sources = ['gtk+-%(version)s.tar.xz'] +checksums = ['ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('GObject-Introspection', '1.72.0'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('Gdk-Pixbuf', '2.42.8'), + ('Pango', '1.50.7'), +] + +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " + +sanity_check_paths = { + 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-x11-2.0.%s' % SHLIB_EXT], + 'dirs': ['include/gtk-2.0'], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb b/Golden_Repo/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..81da084b9880d206bcafb108d0735bd8e3d11408 --- /dev/null +++ b/Golden_Repo/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] +dependencies = [ + ('GLib', '2.72.1'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb b/Golden_Repo/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..e04d1119352a5126a1fa6bc7ba37a7669ad717c1 --- /dev/null +++ b/Golden_Repo/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '9.56.1' + +homepage = 'https://ghostscript.com' +description = """Ghostscript is a versatile processor for PostScript data with the ability to render PostScript to + different targets. It used to be part of the cups printing stack, but is no longer used for that.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1598b9a38659cce8448d42a73054b2f9cbfcc40a9b97eeec5f22d4d6cd1de8e6'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.3'), + ('expat', '2.4.8'), + ('GLib', '2.72.1'), + ('cairo', '1.17.4'), + ('LibTIFF', '4.3.0'), + ('GTK2', '2.24.33'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = "mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && mv libpng libpng.no && " +preconfigopts += 'export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' + +configopts = "--with-system-libtiff --enable-dynamic" + +# Avoid race condition in build if too much parallelism is used +maxparallel = 4 + +postinstallcmds = [ + # build and install shared libs + "make so && make soinstall", + # install header files + "mkdir -p %(installdir)s/include/ghostscript", + "install -v -m644 base/*.h %(installdir)s/include/ghostscript", + "install -v -m644 psi/*.h %(installdir)s/include/ghostscript", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/ghostscript', 'include/ghostscript', 'share/man'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb b/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2a6d46501eb7deb90ab4e6a3e20625bd539d139e --- /dev/null +++ b/Golden_Repo/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,95 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '5.0.0' +local_pyver_major = '3' + +homepage = 'https://www.graphviz.org/' +description = """Graphviz is open source graph visualization software. Graph visualization + is a way of representing structural information as diagrams of + abstract graphs and networks. It has important applications in networking, + bioinformatics, software engineering, database and web design, machine learning, + and in visual interfaces for other technical domains.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_skip-install-data-hook.patch'] +checksums = [ + 'f8cc576694ae93659f453b6b4a4c2f04572a90cfccdca2d4271f2e7c60bb3d60', # graphviz-5.0.0.tar.gz + '4cafb6eac6f59fa4e90cef6e83c276ad5e4e24b10992b18d4b51c6d28dfe4ca1', # Graphviz-5.0.0_skip-install-data-hook.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('SWIG', '4.0.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), + ('FriBidi', '1.0.12'), + ('Gdk-Pixbuf', '2.42.8'), + ('Ghostscript', '9.56.1'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.50.7'), + ('Perl', '5.34.1'), + ('Qt5', '5.15.5'), + ('Tcl', '8.6.12'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libjpeg-turbo', '2.1.3'), + ('expat', '2.4.8'), +] + +preconfigopts = './autogen.sh NOCONFIG && ' + +configopts = '--enable-python%s=yes ' % local_pyver_major +configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no ' +configopts += '--enable-r=no --enable-ruby=no --enable-php=no ' +# Use ltdl from libtool in EB +configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install ' +configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib ' +# Override the hardcoded paths to Java libraries +configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux ' +configopts += '--with-javalibdir=$JAVA_HOME/lib' +configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib' +configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib' + +prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && ' + +postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot', + 'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml', + 'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv', + 'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten', + 'vimdot']] + + ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut', + 'libpathplan', 'libxdot']], + 'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major, + 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = [ + ("test ! -d $EBROOTTCL/lib/*/graphviz", ''), + ("test ! -d $EBROOTTCL/lib64/*/graphviz", ''), + ('python', '-c "import gv"'), +] + +modextrapaths = { + 'CLASSPATH': 'lib/graphviz/java', + 'LD_LIBRARY_PATH': 'lib/graphviz/java', + 'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major, + 'TCLLIBPATH': 'lib/graphviz/tcl', +} + +moduleclass = 'vis' diff --git a/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch b/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch new file mode 100644 index 0000000000000000000000000000000000000000..96c30b27410237690c1b56df33621dd530741f39 --- /dev/null +++ b/Golden_Repo/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch @@ -0,0 +1,96 @@ +don't create directories and install language bindings in non-owned directories +author: Kenneth Hoste (HPC-UGent) +update version 2.42.2: Alex Domingo (VUB) +update version 5.0.0: Simon Pinches +diff -Nru graphviz-5.0.0-orig/tclpkg/Makefile.am graphviz-5.0.0/tclpkg/Makefile.am +--- graphviz-5.0.0-orig/tclpkg/Makefile.am 2022-07-07 17:40:57.000000000 +0200 ++++ graphviz-5.0.0/tclpkg/Makefile.am 2022-08-09 11:38:18.162458502 +0200 +@@ -33,87 +33,7 @@ + # ./configure --prefix=$HOME/graphviz; make; make install + # without root privileges. + install-data-hook: +-if WITH_LUA +- -mkdir -p $(DESTDIR)$(LUA_INSTALL_DIR); +- if test -w $(DESTDIR)$(LUA_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(LUA_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgluadir)/libgv_lua.so gv.so;) \ +- else \ +- echo "Warning: $(LUA_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of lua binding."; \ +- fi +-endif +-if WITH_PERL +- -mkdir -p $(DESTDIR)$(PERL_INSTALL_DIR); +- if test -w $(DESTDIR)$(PERL_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PERL_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgperldir)/libgv_perl.so gv.so; \ +- cp -f $(DESTDIR)$(pkgperldir)/gv.pm gv.pm;) \ +- else \ +- echo "Warning: $(PERL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of perl binding."; \ +- fi +-endif +-if WITH_PHP +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/libgv_php.so gv.so;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DATADIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DATADIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DATADIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/gv.php gv.php;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DATADIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +-endif +-if WITH_PYTHON +- -mkdir -p $(DESTDIR)$(PYTHON_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpythondir)/libgv_python.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpythondir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python binding."; \ +- fi +-endif +-if WITH_PYTHON3 +- -mkdir -p $(DESTDIR)$(PYTHON3_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON3_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON3_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpython3dir)/libgv_python3.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpython3dir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON3_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python3 binding."; \ +- fi +-endif +-if WITH_RUBY +- -mkdir -p $(DESTDIR)$(RUBY_INSTALL_DIR); +- if test -w $(DESTDIR)$(RUBY_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(RUBY_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgrubydir)/libgv_ruby.so gv.so;) \ +- else \ +- echo "Warning: $(RUBY_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of ruby binding."; \ +- fi +-endif +-if WITH_TCL +- -mkdir -p $(DESTDIR)$(TCL_INSTALL_DIR); +- if test -w $(DESTDIR)$(TCL_INSTALL_DIR)/; then \ +- (cd $(DESTDIR)$(TCL_INSTALL_DIR); \ +- cp -rf $(DESTDIR)$(pkgtcldir) $(PACKAGE_NAME);) \ +- else \ +- echo "Warning: $(TCL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of tcl bindings."; \ +- fi +-endif ++ echo "(installing in non-owned directories has been patched out)" + endif + + # removal of installs into $(xxx_INSTALL_DIR) fail if root diff --git a/Golden_Repo/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb b/Golden_Repo/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..539118743c8a78bdee01a0924555902091240a34 --- /dev/null +++ b/Golden_Repo/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +name = 'g2clib' +version = '1.7.0' +easyblock = 'CMakeMake' + +homepage = 'https://github.com/NOAA-EMC/NCEPLIBS-g2c' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NOAA-EMC/NCEPLIBS-g2c/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['73afba9da382fed73ed8692d77fa037bb313280879cd4012a5e5697dccf55175'] + +builddependencies = [('binutils', '2.38'), + ('CMake', '3.23.1'), + ] + +dependencies = [ + ('JasPer', '2.0.33'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +parallel = 8 + +sanity_check_paths = { + 'files': ['lib/libg2c.so'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'data' diff --git a/Golden_Repo/g/g2lib/g2lib-3.2.0-GCCcore-11.3.0.eb b/Golden_Repo/g/g2lib/g2lib-3.2.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..237239266b2ae0bbc1ae93dd4524228c5515d00c --- /dev/null +++ b/Golden_Repo/g/g2lib/g2lib-3.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +name = 'g2lib' +version = '3.2.0' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder and search/indexing routines.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_makefile.patch', +] +checksums = [ + '9d3866de32e13e80798bfb08dbbea9223f32cec3fce3c57b6838e76f27d5a1d3', # g2lib-3.2.0.tar + # g2lib-3.2.0_makefile.patch + 'e434394a6ec8bd68dbd57e3fdb44c47372b07380e362ed955bb038b78dd81812', +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('JasPer', '2.0.33'), + ('libpng', '1.6.37'), +] + +buildopts = 'CFLAGS="$CFLAGS -DLINUXG95 -D__64BIT__" FC=$FC CC=$CC ' +buildopts += 'FFLAGS="$FFLAGS -fno-range-check -fallow-invalid-boz -fallow-argument-mismatch -I."' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/Golden_Repo/g/g2lib/g2lib-3.2.0_makefile.patch b/Golden_Repo/g/g2lib/g2lib-3.2.0_makefile.patch new file mode 100644 index 0000000000000000000000000000000000000000..1841fa47e0f0185e7a3e4562b98986ef5a0d4d80 --- /dev/null +++ b/Golden_Repo/g/g2lib/g2lib-3.2.0_makefile.patch @@ -0,0 +1,40 @@ +# Author: maxim-masterov (SURF) +# Based on: g2lib-3.1.0_makefile.patch by Samuel Moors (VUB) +# Fixes order of compilation and indentation in the makefile +diff -Nru g2lib-3.2.0.orig/makefile g2lib-3.2.0/makefile +--- g2lib-3.2.0.orig/makefile 2021-08-20 11:12:18.401270276 +0200 ++++ g2lib-3.2.0/makefile 2021-08-20 11:16:07.212439526 +0200 +@@ -171,6 +171,7 @@ + .SUFFIXES: .a .f .F .c + + $(LIB): $(LIB)(gridtemplates.o) \ ++ $(LIB)(intmath.o) \ + $(LIB)(pdstemplates.o) \ + $(LIB)(drstemplates.o) \ + $(LIB)(gribmod.o) \ +@@ -182,7 +183,6 @@ + $(LIB)(gb_info.o) \ + $(LIB)(gf_getfld.o) \ + $(LIB)(gf_free.o) \ +- $(LIB)(intmath.o) \ + $(LIB)(gf_unpack1.o) \ + $(LIB)(gf_unpack2.o) \ + $(LIB)(gf_unpack3.o) \ +@@ -217,7 +217,7 @@ + $(LIB)(pngunpack.o) \ + $(LIB)(enc_png.o) \ + $(LIB)(dec_png.o) \ +- $(LIB)(mova2i.o) \ ++ $(LIB)(mova2i.o) \ + $(LIB)(g2_gbytesc.o) \ + $(LIB)(skgb.o) \ + $(LIB)(ixgb2.o) \ +@@ -232,7 +232,7 @@ + $(LIB)(putgb2.o) \ + $(LIB)(g2grids.o) \ + $(LIB)(params.o) \ +- $(LIB)(params_ecmwf.o) \ ++ $(LIB)(params_ecmwf.o) \ + $(LIB)(getidx.o) \ + $(LIB)(gdt2gds.o) + diff --git a/Golden_Repo/g/gflags/gflags-2.2.2-GCCcore-11.3.0.eb b/Golden_Repo/g/gflags/gflags-2.2.2-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..a403ff66dbb845c98cd6d344e4a446df6608a005 --- /dev/null +++ b/Golden_Repo/g/gflags/gflags-2.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'gflags' +version = '2.2.2' + +homepage = 'https://gflags.github.io/gflags' +description = """ +The gflags package contains a C++ library that implements commandline flags +processing. It includes built-in support for standard types such as string +and the ability to define flags in the source file in which they are used. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' + +sanity_check_paths = { + 'files': ['bin/gflags_completions.sh'] + + ['lib/%s' % x for x in ['libgflags.%s' % SHLIB_EXT, 'libgflags_nothreads.%s' % SHLIB_EXT, + 'libgflags.a', 'libgflags_nothreads.a']] + + ['include/gflags/gflags_completions.h'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/Golden_Repo/g/gpsmkl/gpsmkl-2022a.eb b/Golden_Repo/g/gpsmkl/gpsmkl-2022a.eb index 2d87d17eaf5b8c4ca26bd5ccc0ad066fe61ab963..fff6c24e8961b5ebf09645e224923ccb2be2cacb 100644 --- a/Golden_Repo/g/gpsmkl/gpsmkl-2022a.eb +++ b/Golden_Repo/g/gpsmkl/gpsmkl-2022a.eb @@ -18,7 +18,7 @@ local_mkl_ver = '2022.1.0' # compiler toolchain dependencies dependencies = [ local_compiler, - ('psmpi', '5.6.0-1', '', local_compiler), # part of gpsmpi toolchain + ('psmpi', '5.7.0-1', '', local_compiler), # part of gpsmpi toolchain ('imkl', local_mkl_ver, '', SYSTEM), ('imkl-FFTW', local_mkl_ver, '', local_comp_mpi_tc), ] diff --git a/Golden_Repo/g/gpsmpi/gpsmpi-2022a.eb b/Golden_Repo/g/gpsmpi/gpsmpi-2022a.eb index ab322c08273e22a22a3467c2b67e1579155a295d..41208be4cce57a0eda22b45e2f270a29ffccc745 100644 --- a/Golden_Repo/g/gpsmpi/gpsmpi-2022a.eb +++ b/Golden_Repo/g/gpsmpi/gpsmpi-2022a.eb @@ -13,7 +13,7 @@ local_compiler = ('GCC', '11.3.0') dependencies = [ local_compiler, - ('psmpi', '5.6.0-1', '', local_compiler), + ('psmpi', '5.7.0-1', '', local_compiler), ] moduleclass = 'toolchain' diff --git a/Golden_Repo/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb b/Golden_Repo/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..bb7636b2af032dc98b8a01138127c4c4261116cb --- /dev/null +++ b/Golden_Repo/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.15.1' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8d7f8bf9658226942eeab70af2a22aca618577eaa8fe2ed9416ee306d5351aa1'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/Golden_Repo/h/Harminv/Harminv-1.4.1-intel-para-2022a.eb b/Golden_Repo/h/Harminv/Harminv-1.4.1-intel-para-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..d26e648c97ca36589c8eaecdf3e18a59661c1e82 --- /dev/null +++ b/Golden_Repo/h/Harminv/Harminv-1.4.1-intel-para-2022a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Harminv' +version = '1.4.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/Harminv' +description = """ +Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given a discrete-time, +finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying) in a given +bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids. +""" + +toolchain = {'name': 'intel-para', 'version': '2022a'} +toolchainopts = {'opt': True, 'unroll': True, 'optarch': True, 'pic': True, 'cstd': 'c99'} + +source_urls = ['https://github.com/stevengj/harminv/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e1b923c508a565f230aac04e3feea23b888b47d8e19b08816a97ee4444233670'] # v1.4.1.tar.gz + +configopts = "--with-pic --with-blas=mkl_em64t --with-lapack=mkl_em64t --enable-shared" + +moduleclass = 'math' diff --git a/Golden_Repo/hidden_deps.txt b/Golden_Repo/hidden_deps.txt index d05bba69e625c252472cf8c6cd3ebc2726337035..c9df03a99156990aa67f5944739e66dd3d8960d7 100644 --- a/Golden_Repo/hidden_deps.txt +++ b/Golden_Repo/hidden_deps.txt @@ -92,6 +92,7 @@ PnMPI PyCairo PyGObject Python-Xpra +pretty-yaml Qhull Qt Qt5 diff --git a/Golden_Repo/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb b/Golden_Repo/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..f4a6a273ca9f8aef823176726c4527dd158c21ac --- /dev/null +++ b/Golden_Repo/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.0-37' + +homepage = 'https://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/ImageMagick/ImageMagick/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a54888a1a46dbb808705a3e6c6b5ecb93ee30189a8ae6ea0f02300a0ab0d0996'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20220504'), + ('Ghostscript', '9.56.1'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('LittleCMS', '2.13.1'), + ('Pango', '1.50.7'), +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', + 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/Golden_Repo/i/intel-para/intel-para-2022a.eb b/Golden_Repo/i/intel-para/intel-para-2022a.eb index 2e442a256382ae0833c889068570dd4035253e64..8f74fd6408f645655e79aa701ba06a56fbfe5d59 100644 --- a/Golden_Repo/i/intel-para/intel-para-2022a.eb +++ b/Golden_Repo/i/intel-para/intel-para-2022a.eb @@ -18,7 +18,7 @@ local_comp_mpi_tc = ('ipsmpi', version) dependencies = [ local_compiler, - ('psmpi', '5.6.0-1', '', local_compiler), + ('psmpi', '5.7.0-1', '', local_compiler), ('imkl', local_comp_ver, '', SYSTEM), ('imkl-FFTW', local_comp_ver, '', local_comp_mpi_tc), ] diff --git a/Golden_Repo/i/ipsmpi/ipsmpi-2022a.eb b/Golden_Repo/i/ipsmpi/ipsmpi-2022a.eb index 61a1d65ff9fe77bc6ed361cf9ba892a20c665717..69a24d0030ea6e0d5e9ad0c84143bbedc1877266 100644 --- a/Golden_Repo/i/ipsmpi/ipsmpi-2022a.eb +++ b/Golden_Repo/i/ipsmpi/ipsmpi-2022a.eb @@ -12,7 +12,7 @@ local_comp_ver = '2022.1.0' local_compiler = ('intel-compilers', local_comp_ver) dependencies = [ local_compiler, - ('psmpi', '5.6.0-1', '', local_compiler), + ('psmpi', '5.7.0-1', '', local_compiler), ] moduleclass = 'toolchain' diff --git a/Golden_Repo/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb b/Golden_Repo/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..fd89cefd7afdd35252b498fb27e0f4cbe61012f8 --- /dev/null +++ b/Golden_Repo/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.13.1' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('libjpeg-turbo', '2.1.3')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb b/Golden_Repo/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb deleted file mode 100644 index 9886450f02c38fc686ddebd3ee65b1591373bdd2..0000000000000000000000000000000000000000 --- a/Golden_Repo/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libGLU' -version = '9.0.2' - -homepage = 'https://mesa.freedesktop.org/archive/glu/' -description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ - -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://mesa.freedesktop.org/archive/glu/'] -sources = ['glu-%(version)s.tar.gz'] -checksums = ['24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65'] - -builddependencies = [('binutils', '2.38')] - -dependencies = [ - ('OpenGL', '2022a'), -] - -sanity_check_paths = { - 'files': ['lib/libGLU.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/Golden_Repo/l/libaec/libaec-1.0.6-GCCcore-11.3.0.eb b/Golden_Repo/l/libaec/libaec-1.0.6-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..3dcfe8298617c13cf960f7eead3fc5146d843e03 --- /dev/null +++ b/Golden_Repo/l/libaec/libaec-1.0.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.h', 'include/szlib.h', 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["aec --help"] + +moduleclass = 'lib' diff --git a/Golden_Repo/l/libctl/libctl-4.5.1-GCC-11.3.0.eb b/Golden_Repo/l/libctl/libctl-4.5.1-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..94a840f66be87fbaa868ef92c13858682b2c2227 --- /dev/null +++ b/Golden_Repo/l/libctl/libctl-4.5.1-GCC-11.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' +name = 'libctl' +version = '4.5.1' + +homepage = 'http://ab-initio.mit.edu/libctl' +description = """libctl is a free Guile-based library implementing flexible control files for scientific simulations.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/NanoComp/libctl/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fcfeb2f13dda05b560f0ec6872757d9318fdfe8f4bc587eb2053a29ba328ae25'] # libctl-4.5.1.tar.gz + +dependencies = [ + ('Guile', '3.0.8') +] + +configopts = '--enable-shared ' + +moduleclass = 'chem' diff --git a/Golden_Repo/l/libctl/libctl-4.5.1-intel-compilers-2022.1.0.eb b/Golden_Repo/l/libctl/libctl-4.5.1-intel-compilers-2022.1.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..280ea563f141bb10ab9533b2a6f04e8a6dbbf581 --- /dev/null +++ b/Golden_Repo/l/libctl/libctl-4.5.1-intel-compilers-2022.1.0.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' +name = 'libctl' +version = '4.5.1' + +homepage = 'http://ab-initio.mit.edu/libctl' +description = """libctl is a free Guile-based library implementing flexible control files for scientific simulations.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/NanoComp/libctl/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fcfeb2f13dda05b560f0ec6872757d9318fdfe8f4bc587eb2053a29ba328ae25'] # libctl-4.5.1.tar.gz + +dependencies = [ + ('Guile', '3.0.8') +] + +configopts = '--enable-shared ' + +moduleclass = 'chem' diff --git a/Golden_Repo/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb b/Golden_Repo/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..f92e6bb75a7b8aa82998b5dfd820faac7b9def10 --- /dev/null +++ b/Golden_Repo/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/Golden_Repo/l/libvips/libvips-8.13.3-foss-2022a.eb b/Golden_Repo/l/libvips/libvips-8.13.3-foss-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..832666ae2cf1d743a72ff88ad447e4b403fb9b9b --- /dev/null +++ b/Golden_Repo/l/libvips/libvips-8.13.3-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'libvips' +version = '8.13.3' + +homepage = 'https://libvips.github.io/libvips/' +description = """libvips is a demand-driven, horizontally threaded image processing library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'libvips' +source_urls = ['https://github.com/libvips/libvips/releases/download/v%(version)s'] +sources = ['vips-%(version)s.tar.gz'] +checksums = [None] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('giflib', '5.2.1'), + ('FFTW', '3.3.10', '', ('GCC', '11.3.0')), + ('GLib', '2.72.1'), + ('expat', '2.4.8'), + ('librsvg', '2.55.1'), + ('ImageMagick', '7.1.0-37'), + ('OpenSlide', '3.4.1', '-largefiles'), +] + +sanity_check_paths = { + 'files': ['bin/vips', 'bin/batch_image_convert', 'bin/vipsthumbnail', + 'lib/libvips.%s' % SHLIB_EXT], + 'dirs': ['include/vips'] +} + +moduleclass = 'vis' diff --git a/Golden_Repo/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb b/Golden_Repo/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..0c0b2fbef392c688525944ddb6cd68ae06b163ab --- /dev/null +++ b/Golden_Repo/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.2.4' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/m/motif/motif-2.3.8-GCCcore-11.3.0.eb b/Golden_Repo/m/motif/motif-2.3.8-GCCcore-11.3.0.eb deleted file mode 100644 index 8f4a300dbef6daa77bb21726b9fe4343d2320bcb..0000000000000000000000000000000000000000 --- a/Golden_Repo/m/motif/motif-2.3.8-GCCcore-11.3.0.eb +++ /dev/null @@ -1,41 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'motif' -version = '2.3.8' - -homepage = 'https://motif.ics.com/' -description = """Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building - applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. - It was the standard toolkit for the Common Desktop Environment and thus for Unix.""" - -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = ['%(name)s-%(version)s.tar.gz'] -checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] - -builddependencies = [ - ('Autotools', '20220317'), - ('flex', '2.6.4'), - ('Bison', '3.8.2'), - ('binutils', '2.38'), - ('util-linux', '2.38'), -] - -dependencies = [ - ('X11', '20220504'), - ('libpng', '1.6.37'), - ('freetype', '2.12.1'), - ('libjpeg-turbo', '2.1.3'), - ('bzip2', '1.0.8'), -] - -# makefile is not parallel safe -parallel = 1 - -sanity_check_paths = { - 'files': ['lib/libMrm.a', 'lib/libUil.a', 'lib/libXm.a', 'bin/mwm', 'bin/uil', 'bin/xmbind'], - 'dirs': ['include/Mrm', 'include/uil', 'include/X11', 'include/Xm'], -} - -moduleclass = 'vis' diff --git a/Golden_Repo/m/mpiP/mpiP-3.5-gompi-2022a.eb b/Golden_Repo/m/mpiP/mpiP-3.5-gompi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..6bcfae6baa4f6efd17d8e5290c428bb55626f97b --- /dev/null +++ b/Golden_Repo/m/mpiP/mpiP-3.5-gompi-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' +version = '3.5' + +homepage = 'https://github.com/LLNL/mpiP' +name = "mpiP" + +description = """mpiP is a lightweight profiling library for MPI applications. Because it only collects statistical +information about MPI functions, mpiP generates considerably less overhead and much less data than tracing tools. All +the information captured by mpiP is task-local. It only uses communication during report generation, typically at the +end of the experiment, to merge results from all of the tasks into one output file. +""" + +usage = """ + Example usage (take special note of the order, the mpiP library has to appear AFTER your code): + + mpifort -g -o mpitest mpitest.f90 -lmpiP -lm -lbfd -liberty -lunwind -lz +""" + + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/LLNL/mpiP/releases/download/%(version)s/'] +sources = [SOURCELOWER_TGZ] +checksums = ['e366843d53fa016fb03903e51c8aac901aa5155edabe64698a8d6fa618a03bbd'] + +builddependencies = [ + ('Python', '3.10.4'), +] + +dependencies = [ + ('libunwind', '1.6.2'), +] + +configopts = "--with-cc=$CC --with-cxx=$CXX --with-f77=$F77 CFLAGS='-DPACKAGE=mpiP -DPACKAGE_VERSION=3.5' " + +buildopts = "PACKAGE='mpiP' PACKAGE_VERSION='3.5'" + +sanity_check_paths = { + 'files': ['lib/libmpiP.so'], + 'dirs': ['lib', 'share'] +} + +moduleclass = 'perf' diff --git a/Golden_Repo/m/mpiP/mpiP-3.5-gpsmpi-2022a.eb b/Golden_Repo/m/mpiP/mpiP-3.5-gpsmpi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..c0abdc72807c691c7ecf534d3568109bb1eb04ca --- /dev/null +++ b/Golden_Repo/m/mpiP/mpiP-3.5-gpsmpi-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' +version = '3.5' + +homepage = 'https://github.com/LLNL/mpiP' +name = "mpiP" + +description = """mpiP is a lightweight profiling library for MPI applications. Because it only collects statistical +information about MPI functions, mpiP generates considerably less overhead and much less data than tracing tools. All +the information captured by mpiP is task-local. It only uses communication during report generation, typically at the +end of the experiment, to merge results from all of the tasks into one output file. +""" + +usage = """ + Example usage (take special note of the order, the mpiP library has to appear AFTER your code): + + mpifort -g -o mpitest mpitest.f90 -lmpiP -lm -lbfd -liberty -lunwind -lz +""" + + +toolchain = {'name': 'gpsmpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/LLNL/mpiP/releases/download/%(version)s/'] +sources = [SOURCELOWER_TGZ] +checksums = ['e366843d53fa016fb03903e51c8aac901aa5155edabe64698a8d6fa618a03bbd'] + +builddependencies = [ + ('Python', '3.10.4'), +] + +dependencies = [ + ('libunwind', '1.6.2'), +] + +configopts = "--with-cc=$CC --with-cxx=$CXX --with-f77=$F77 CFLAGS='-DPACKAGE=mpiP -DPACKAGE_VERSION=3.5' " + +buildopts = "PACKAGE='mpiP' PACKAGE_VERSION='3.5'" + +sanity_check_paths = { + 'files': ['lib/libmpiP.so'], + 'dirs': ['lib', 'share'] +} + +moduleclass = 'perf' diff --git a/Golden_Repo/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb b/Golden_Repo/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..e9b6611e0603dd429e30699025388cb499e044c6 --- /dev/null +++ b/Golden_Repo/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/n/ncview/ncview-2.1.8-GCCcore-11.3.0.eb b/Golden_Repo/n/ncview/ncview-2.1.8-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..0f38a258ea5856495f0768259c9ad6305ba82356 --- /dev/null +++ b/Golden_Repo/n/ncview/ncview-2.1.8-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ncview' + +version = "2.1.8" + +homepage = 'http://meteora.ucsd.edu/~pierce/ncview_home_page.html' +description = """Ncview is a visual browser for netCDF format files. +Typically you would use ncview to get a quick and easy, push-button +look at your netCDF files. You can view simple movies of the data, +view along various dimensions, take a look at the actual data values, +change color maps, invert the data, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['ftp://cirrus.ucsd.edu/pub/ncview/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be'] + +preconfigopts = 'CC=$(which $CC) ' +configopts = '--with-udunits2_incdir=$EBROOTUDUNITS/include --with-udunits2_libdir=$EBROOTUDUNITS/lib ' +configopts += '--with-png_libdir=$EBROOTLIBPNG/lib --with-png_incdir=$EBROOTLIBPNG/include' + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('netCDF', '4.9.0', '-serial'), + ('UDUNITS', '2.2.28'), + ('X11', '20220504'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/ncview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-GCCcore-11.3.0-serial.eb b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-GCCcore-11.3.0-serial.eb new file mode 100644 index 0000000000000000000000000000000000000000..b74320143b6ff91c0ce9535c28864fe9e2048d81 --- /dev/null +++ b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-GCCcore-11.3.0-serial.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'netCDF-C++4' +version = '4.3.1' +versionsuffix = '-serial' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing + of array-oriented scientific data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +builddependencies = [('binutils', '2.38')] +dependencies = [('netCDF', '4.9.0', '-serial')] + +sanity_check_paths = { + 'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.6.0-GCCcore-11.3.0-serial.eb b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.6.0-GCCcore-11.3.0-serial.eb new file mode 100644 index 0000000000000000000000000000000000000000..454690281771c0b72a7edac835fb70db99dc6d25 --- /dev/null +++ b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.6.0-GCCcore-11.3.0-serial.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' +versionsuffix = '-serial' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('binutils', '2.38'), + ('M4', '1.4.19'), +] + +dependencies = [('netCDF', '4.9.0', '-serial')] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF4-python/netcdf4-python-1.1.8-avoid-diskless-test.patch b/Golden_Repo/n/netCDF4-python/netcdf4-python-1.1.8-avoid-diskless-test.patch new file mode 100644 index 0000000000000000000000000000000000000000..d146f649548b0815386b6003647eb6cf37cee583 --- /dev/null +++ b/Golden_Repo/n/netCDF4-python/netcdf4-python-1.1.8-avoid-diskless-test.patch @@ -0,0 +1,14 @@ +# this test seems to always fall. The diskless thing is not really diskless it seems +# By Ward Poelmans <ward.poelmans@ugent.be> +diff -ur netcdf4-python-1.1.8rel/test/tst_diskless.py netcdf4-python-1.1.8rel.new/test/tst_diskless.py +--- netcdf4-python-1.1.8rel/test/tst_diskless.py 2015-05-13 16:27:00.000000000 +0200 ++++ netcdf4-python-1.1.8rel.new/test/tst_diskless.py 2016-01-07 14:16:21.851971913 +0100 +@@ -65,7 +65,7 @@ + assert_array_almost_equal(foo[:], ranarr) + assert_array_almost_equal(bar[:], ranarr2) + # file does not actually exist on disk +- assert(os.path.isfile(self.file)==False) ++# assert(os.path.isfile(self.file)==False) + # open persisted file. + # first, check that file does actually exist on disk + assert(os.path.isfile(self.file2)==True) diff --git a/Golden_Repo/n/netCDF4-python/netcdf4-python-1.6.1-GCCcore-11.3.0-serial.eb b/Golden_Repo/n/netCDF4-python/netcdf4-python-1.6.1-GCCcore-11.3.0-serial.eb new file mode 100644 index 0000000000000000000000000000000000000000..f5bceef51f279ec036d02f11c5d5849bf88c8643 --- /dev/null +++ b/Golden_Repo/n/netCDF4-python/netcdf4-python-1.6.1-GCCcore-11.3.0-serial.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.1' + +versionsuffix = '-serial' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')), + ('netCDF', '4.9.0', '-serial'), + ('cURL', '7.83.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_default_options = {'source_urls': [PYPI_SOURCE]} + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + {'netCDF4-1.6.1.tar.gz': 'ba8dc5d65293a99f1afb8c2acf588d903fdfdc1963a62545b677fa2734262a78'}, + {'netcdf4-python-1.1.8-avoid-diskless-test.patch': + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72'}, + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/Golden_Repo/n/npsmpic/npsmpic-2022a.eb b/Golden_Repo/n/npsmpic/npsmpic-2022a.eb index 2c0a5a4935b5bd34ab22e0d7559e32255f1ae292..b7c3900a29530edc7f1d33078fb1e79babdd5edd 100644 --- a/Golden_Repo/n/npsmpic/npsmpic-2022a.eb +++ b/Golden_Repo/n/npsmpic/npsmpic-2022a.eb @@ -13,7 +13,7 @@ local_compiler = ('NVHPC', '22.11') dependencies = [ local_compiler, ('CUDA', '11.7', '', SYSTEM), - ('psmpi', '5.6.0-1', '', local_compiler), + ('psmpi', '5.7.0-1', '', local_compiler), ] moduleclass = 'toolchain' diff --git a/Golden_Repo/n/numba/llvmlite-0.39_getparamattribute.patch b/Golden_Repo/n/numba/llvmlite-0.39_getparamattribute.patch new file mode 100644 index 0000000000000000000000000000000000000000..88dd553398edef60aad4be4e87b682075aa15464 --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_getparamattribute.patch @@ -0,0 +1,11 @@ +--- ffi/value.cpp.orig 2022-12-07 16:25:09.106947789 +0000 ++++ ffi/value.cpp 2022-12-07 16:25:58.887604268 +0000 +@@ -154,7 +154,7 @@ + Argument *arg = unwrap<Argument>(A); + unsigned argno = arg->getArgNo(); + AttributeSet attrs = +- arg->getParent()->getAttributes().getParamAttributes(argno); ++ arg->getParent()->getAttributes().getParamAttrs(argno); + return wrap(new AttributeSetIterator(attrs.begin(), attrs.end())); + } + diff --git a/Golden_Repo/n/numba/llvmlite-0.39_pass.patch b/Golden_Repo/n/numba/llvmlite-0.39_pass.patch new file mode 100644 index 0000000000000000000000000000000000000000..c786af0463864db906382971d2412d26e6298eb4 --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_pass.patch @@ -0,0 +1,10 @@ +--- ffi/passmanagers.cpp.orig 2022-12-07 16:11:49.483816317 +0000 ++++ ffi/passmanagers.cpp 2022-12-07 16:12:19.848240354 +0000 +@@ -8,6 +8,7 @@ + #include "llvm/IR/DiagnosticInfo.h" + #include "llvm/IR/DiagnosticPrinter.h" + #include "llvm/IR/LegacyPassManager.h" ++#include "llvm/Pass.h" + #include "llvm/IR/Module.h" + #include "llvm/Support/FileSystem.h" + #include "llvm/Support/ToolOutputFile.h" diff --git a/Golden_Repo/n/numba/llvmlite-0.39_passmanager.patch b/Golden_Repo/n/numba/llvmlite-0.39_passmanager.patch new file mode 100644 index 0000000000000000000000000000000000000000..8a0df097b10171ca9f4b75aba19bc01f5c87fd4b --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_passmanager.patch @@ -0,0 +1,12 @@ +--- ffi/passmanagers.cpp.orig 2022-12-06 15:41:01.230034402 +0000 ++++ ffi/passmanagers.cpp 2022-12-06 15:41:19.678191543 +0000 +@@ -17,9 +17,6 @@ + #include "llvm-c/Transforms/IPO.h" + #include "llvm-c/Transforms/Scalar.h" + #include "llvm/IR/LegacyPassManager.h" +-#if LLVM_VERSION_MAJOR > 11 +-#include "llvm/IR/RemarkStreamer.h" +-#endif + #include "llvm/IR/LLVMRemarkStreamer.h" + #include "llvm/Remarks/RemarkStreamer.h" + #include "llvm/Transforms/IPO.h" diff --git a/Golden_Repo/n/numba/llvmlite-0.39_target.patch b/Golden_Repo/n/numba/llvmlite-0.39_target.patch new file mode 100644 index 0000000000000000000000000000000000000000..fcf5993a36430003550a1cdabc1112231e5faa4c --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_target.patch @@ -0,0 +1,10 @@ +--- ffi/targets.cpp.orig 2022-12-06 15:44:43.191925420 +0000 ++++ ffi/targets.cpp 2022-12-06 15:44:53.916016793 +0000 +@@ -204,7 +204,6 @@ + rm = Reloc::DynamicNoPIC; + + TargetOptions opt; +- opt.PrintMachineCode = PrintMC; + opt.MCOptions.ABIName = ABIName; + + bool jit = JIT; diff --git a/Golden_Repo/n/numba/llvmlite-0.39_targetregistry.patch b/Golden_Repo/n/numba/llvmlite-0.39_targetregistry.patch new file mode 100644 index 0000000000000000000000000000000000000000..fdcfc3f07b80e437b4a7dd23daa95e041e60aaf0 --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_targetregistry.patch @@ -0,0 +1,11 @@ +--- ffi/targets.cpp.orig 2022-12-07 15:22:37.446261237 +0000 ++++ ffi/targets.cpp 2022-12-07 15:22:47.382407891 +0000 +@@ -6,7 +6,7 @@ + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/IR/Type.h" + #include "llvm/Support/Host.h" +-#include "llvm/Support/TargetRegistry.h" ++#include "llvm/MC/TargetRegistry.h" + #include "llvm/Target/TargetMachine.h" + + #include <cstdio> diff --git a/Golden_Repo/n/numba/llvmlite-0.39_test-binding.patch b/Golden_Repo/n/numba/llvmlite-0.39_test-binding.patch new file mode 100644 index 0000000000000000000000000000000000000000..732269110c18d4b134ec08ff4044395661cfec6d --- /dev/null +++ b/Golden_Repo/n/numba/llvmlite-0.39_test-binding.patch @@ -0,0 +1,40 @@ +--- llvmlite/tests/test_binding.py.orig 2022-12-06 18:00:21.729557505 +0000 ++++ llvmlite/tests/test_binding.py 2022-12-06 18:00:49.641795081 +0000 +@@ -18,6 +18,16 @@ + from llvmlite.tests import TestCase + + ++def clean_string_whitespace(x: str) -> str: ++ # Remove trailing whitespace from the end of each line ++ x = re.sub(r"\s+$", "", x, flags=re.MULTILINE) ++ # Remove intermediate blank lines ++ x = re.sub(r"\n\s*\n", r"\n", x, flags=re.MULTILINE) ++ # Remove extraneous whitespace from the beginning and end of the string ++ x = x.strip() ++ return x ++ ++ + # arvm7l needs extra ABI symbols to link successfully + if platform.machine() == 'armv7l': + llvm.load_library_permanently('libgcc_s.so.1') +@@ -555,7 +565,10 @@ + bd = ir.IRBuilder(fn.append_basic_block(name="<>!*''#")) + bd.ret(ir.Constant(ir.IntType(32), 12345)) + asm = str(mod) +- self.assertEqual(asm, asm_nonalphanum_blocklabel) ++ self.assertEqual( ++ clean_string_whitespace(asm), ++ clean_string_whitespace(asm_nonalphanum_blocklabel) ++ ) + + def test_global_context(self): + gcontext1 = llvm.context.get_global_context() +@@ -640,7 +653,7 @@ + def test_version(self): + major, minor, patch = llvm.llvm_version_info + # one of these can be valid +- valid = [(11,)] ++ valid = [(11,), (12,), (13,), (14,)] + self.assertIn((major,), valid) + self.assertIn(patch, range(10)) + diff --git a/Golden_Repo/n/numba/numba-0.54.1_fix-numpy-1.21.patch b/Golden_Repo/n/numba/numba-0.54.1_fix-numpy-1.21.patch new file mode 100644 index 0000000000000000000000000000000000000000..f15a14ee48e2ac0c404151c5fbfa81eb454d7294 --- /dev/null +++ b/Golden_Repo/n/numba/numba-0.54.1_fix-numpy-1.21.patch @@ -0,0 +1,251 @@ +fix compatibility with numpy 1.21 +extracted from https://github.com/numba/numba/pull/7483 + +--- numba-0.54.1/setup.py.orig 2021-12-15 15:49:05.785690139 +0100 ++++ numba-0.54.1/setup.py 2021-12-15 15:49:09.255689514 +0100 +@@ -23,7 +23,7 @@ + max_python_version = "3.10" # exclusive + min_numpy_build_version = "1.11" + min_numpy_run_version = "1.17" +-max_numpy_run_version = "1.21" ++max_numpy_run_version = "1.22" + min_llvmlite_version = "0.37.0rc1" + max_llvmlite_version = "0.38" + +--- numba-0.54.1/numba/__init__.py.orig 2021-10-08 19:12:54.197672600 +0200 ++++ numba-0.54.1/numba/__init__.py 2021-12-15 15:57:05.995560177 +0100 +@@ -134,8 +134,8 @@ + + if numpy_version < (1, 17): + raise ImportError("Numba needs NumPy 1.17 or greater") +- elif numpy_version > (1, 20): +- raise ImportError("Numba needs NumPy 1.20 or less") ++ elif numpy_version > (1, 21): ++ raise ImportError("Numba needs NumPy 1.21 or less") + + try: + import scipy + + +From cff3dd6f92286fd8621a902d6595b65208e90013 Mon Sep 17 00:00:00 2001 +From: Sebastian Berg <sebastian@sipsolutions.net> +Date: Thu, 30 Sep 2021 14:27:01 -0500 +Subject: [PATCH 6/8] BUG: Support the fastcall mechanism for NumPy's ufunc + methods + +This is a start to support NumPy 1.21 use of FASTCALL methods +in ufuncs. There are probably better ways to achieve this support. + +NumPy further uses `tp_vectorcall_offset` on newer versions. This +PR does not add support for this (meaning that a DUfunc will be +unnecessarily slow on NumPy >=1.21 when kwargs are used). +--- + numba/np/ufunc/_internal.c | 99 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 97 insertions(+), 2 deletions(-) + +diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c +index d3ca1319b6..600014df55 100644 +--- a/numba/np/ufunc/_internal.c ++++ b/numba/np/ufunc/_internal.c +@@ -276,6 +276,7 @@ static PyMemberDef dufunc_members[] = { + */ + + static struct _ufunc_dispatch { ++ /* Note that the following may also hold `_PyCFunctionFastWithKeywords` */ + PyCFunctionWithKeywords ufunc_reduce; + PyCFunctionWithKeywords ufunc_accumulate; + PyCFunctionWithKeywords ufunc_reduceat; +@@ -286,7 +287,7 @@ static struct _ufunc_dispatch { + } ufunc_dispatch; + + static int +-init_ufunc_dispatch(void) ++init_ufunc_dispatch(int *numpy_uses_fastcall) + { + int result = 0; + PyMethodDef * crnt = PyUFunc_Type.tp_methods; +@@ -329,6 +330,16 @@ init_ufunc_dispatch(void) + result = -1; /* Unknown method */ + } + if (result < 0) break; ++ ++ /* Check whether NumPy uses fastcall (ufunc.at never uses it) */ ++ if (!strncmp(crnt_name, "at", 3)) { ++ if (*numpy_uses_fastcall == -1) { ++ *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL; ++ } ++ else if (*numpy_uses_fastcall != (crnt->ml_flags & METH_FASTCALL)) { ++ return -1; ++ } ++ } + } + if (result == 0) { + /* Sanity check. */ +@@ -344,6 +355,7 @@ init_ufunc_dispatch(void) + return result; + } + ++ + static PyObject * + dufunc_reduce(PyDUFuncObject * self, PyObject * args, PyObject *kws) + { +@@ -368,6 +380,47 @@ dufunc_outer(PyDUFuncObject * self, PyObject * args, PyObject *kws) + return ufunc_dispatch.ufunc_outer((PyObject*)self->ufunc, args, kws); + } + ++ ++/* ++ * The following are the vectorcall versions of the above, since NumPy ++ * uses the FASTCALL/Vectorcall protocol starting with version 1.21. ++ * The only NumPy versions supporting vectorcall use Python 3.7 or higher. ++ */ ++static PyObject * ++dufunc_reduce_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_reduce)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++static PyObject * ++dufunc_reduceat_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_reduceat)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ ++static PyObject * ++dufunc_accumulate_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_accumulate)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ ++static PyObject * ++dufunc_outer_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_outer)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ + #if NPY_API_VERSION >= 0x00000008 + static PyObject * + dufunc_at(PyDUFuncObject * self, PyObject * args) +@@ -568,6 +621,41 @@ static struct PyMethodDef dufunc_methods[] = { + {NULL, NULL, 0, NULL} /* sentinel */ + }; + ++ ++/* ++ * If Python is new enough, NumPy may use fastcall. In that case we have to ++ * also use fastcall for simplicity and speed. ++ */ ++static struct PyMethodDef dufunc_methods_fast[] = { ++ {"reduce", ++ (PyCFunction)dufunc_reduce_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"accumulate", ++ (PyCFunction)dufunc_accumulate_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"reduceat", ++ (PyCFunction)dufunc_reduceat_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"outer", ++ (PyCFunction)dufunc_outer_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL}, ++#if NPY_API_VERSION >= 0x00000008 ++ {"at", ++ (PyCFunction)dufunc_at, ++ METH_VARARGS, NULL}, ++#endif ++ {"_compile_for_args", ++ (PyCFunction)dufunc__compile_for_args, ++ METH_VARARGS | METH_KEYWORDS, ++ "Abstract method: subclasses should overload _compile_for_args() to compile the ufunc at the given arguments' types."}, ++ {"_add_loop", ++ (PyCFunction)dufunc__add_loop, ++ METH_VARARGS, ++ NULL}, ++ {NULL, NULL, 0, NULL} /* sentinel */ ++}; ++ ++ + static PyObject * + dufunc_getfrozen(PyDUFuncObject * self, void * closure) + { +@@ -681,8 +769,15 @@ MOD_INIT(_internal) + return MOD_ERROR_VAL; + + PyDUFunc_Type.tp_new = PyType_GenericNew; +- if (init_ufunc_dispatch() <= 0) ++ ++ int numpy_uses_fastcall = -1; ++ if (init_ufunc_dispatch(&numpy_uses_fastcall) <= 0) + return MOD_ERROR_VAL; ++ ++ if (numpy_uses_fastcall) { ++ PyDUFunc_Type.tp_methods = dufunc_methods_fast; ++ } ++ + if (PyType_Ready(&PyDUFunc_Type) < 0) + return MOD_ERROR_VAL; + Py_INCREF(&PyDUFunc_Type); + +From 4df2640b60804f1462e2f48b72f744005ed6ec9a Mon Sep 17 00:00:00 2001 +From: Stuart Archibald <stuartarchibald@users.noreply.github.com> +Date: Fri, 15 Oct 2021 15:23:53 +0100 +Subject: [PATCH 7/8] Add suggested fix for detecting ufunc.at + +As title. +--- + numba/np/ufunc/_internal.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c +index 600014df55..d3e19b1cdc 100644 +--- a/numba/np/ufunc/_internal.c ++++ b/numba/np/ufunc/_internal.c +@@ -332,7 +332,7 @@ init_ufunc_dispatch(int *numpy_uses_fastcall) + if (result < 0) break; + + /* Check whether NumPy uses fastcall (ufunc.at never uses it) */ +- if (!strncmp(crnt_name, "at", 3)) { ++ if (strncmp(crnt_name, "at", 3) != 0) { + if (*numpy_uses_fastcall == -1) { + *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL; + } + +From 635e05661b5d715bd8a9cb9448bd24930f693c38 Mon Sep 17 00:00:00 2001 +From: Stuart Archibald <stuartarchibald@users.noreply.github.com> +Date: Tue, 16 Nov 2021 12:06:11 +0000 +Subject: [PATCH 8/8] Skip NaT input on np.median test for np=1.21. + +As title. See: https://github.com/numpy/numpy/issues/20376 +--- + numba/tests/test_array_reductions.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/numba/tests/test_array_reductions.py b/numba/tests/test_array_reductions.py +index de0d445fe6..a5763a753b 100644 +--- a/numba/tests/test_array_reductions.py ++++ b/numba/tests/test_array_reductions.py +@@ -686,8 +686,11 @@ def _do_check_nptimedelta(self, pyfunc, arr): + np.random.shuffle(arr) + self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) + # Test with a NaT +- arr[arr.size // 2] = 'NaT' +- self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) ++ if numpy_version != (1, 21) and 'median' not in pyfunc.__name__: ++ # There's problems with NaT handling in "median" on at least NumPy ++ # 1.21.{3, 4}. See https://github.com/numpy/numpy/issues/20376 ++ arr[arr.size // 2] = 'NaT' ++ self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) + if 'median' not in pyfunc.__name__: + # Test with (val, NaT)^N (and with the random NaT from above) + # use a loop, there's some weird thing/bug with arr[1::2] = 'NaT' diff --git a/Golden_Repo/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.eb b/Golden_Repo/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.eb new file mode 100644 index 0000000000000000000000000000000000000000..bbc4870252cf65c645af68712e69bc96858bd3ba --- /dev/null +++ b/Golden_Repo/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')), + ('LLVM', '14.0.3'), + ('CUDA', '11.7', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + + +exts_list = [ + ('llvmlite', '0.39.1', { + 'patches': [ + 'llvmlite-0.39_passmanager.patch', + 'llvmlite-0.39_target.patch', + 'llvmlite-0.39_test-binding.patch', + 'llvmlite-0.39_targetregistry.patch', + 'llvmlite-0.39_pass.patch', + 'llvmlite-0.39_getparamattribute.patch', + ], + 'preinstallopts': "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " + + "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && ", + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39_passmanager.patch': 'acfe0b35142c73f5936399446b1dbb997389c55ca95e8924d3a2d160ffca0056'}, + {'llvmlite-0.39_target.patch': '586f19f01e5923cd852430a900913cd4e1382f7f825c7259c42556eba7c0e5ba'}, + {'llvmlite-0.39_test-binding.patch': '4ecb6bc4503d9f182805dccbde34e735c9d71c7e1a998f8e15e49773c7eb5d93'}, + {'llvmlite-0.39_targetregistry.patch': '62c347a2d709c144fbe934a57d1f6703ddfccaf5b7049de2abbf93c4a9733730'}, + {'llvmlite-0.39_pass.patch': 'fb861a0dcfd1caa4aa54786840547352d63378a39b6321aea66e893ae2718381'}, + {'llvmlite-0.39_getparamattribute.patch': + 'edba3e1d33efdce79be486fd3c2604ef82d95a5b8f60fb6c5591963bb42748e7'}, + ], + }), + (name, version, { + 'checksums': ['32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -m llvmlite.tests", + "numba --help", +] + +moduleclass = 'lang' diff --git a/Golden_Repo/n/numba/numba-0.56.4-gcccoremkl-11.3.0-2022.1.0-CUDA-11.7.eb b/Golden_Repo/n/numba/numba-0.56.4-gcccoremkl-11.3.0-2022.1.0-CUDA-11.7.eb new file mode 100644 index 0000000000000000000000000000000000000000..fbea0b64ab63f506ab6833c5f56ac75c5c62723b --- /dev/null +++ b/Golden_Repo/n/numba/numba-0.56.4-gcccoremkl-11.3.0-2022.1.0-CUDA-11.7.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'gcccoremkl', 'version': '11.3.0-2022.1.0'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')), + ('LLVM', '14.0.3'), + ('CUDA', '11.7', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + + +exts_list = [ + ('llvmlite', '0.39.1', { + 'patches': [ + 'llvmlite-0.39_passmanager.patch', + 'llvmlite-0.39_target.patch', + 'llvmlite-0.39_test-binding.patch', + 'llvmlite-0.39_targetregistry.patch', + 'llvmlite-0.39_pass.patch', + 'llvmlite-0.39_getparamattribute.patch', + ], + 'preinstallopts': "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config &&" + + "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && ", + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39_passmanager.patch': 'acfe0b35142c73f5936399446b1dbb997389c55ca95e8924d3a2d160ffca0056'}, + {'llvmlite-0.39_target.patch': '586f19f01e5923cd852430a900913cd4e1382f7f825c7259c42556eba7c0e5ba'}, + {'llvmlite-0.39_test-binding.patch': '4ecb6bc4503d9f182805dccbde34e735c9d71c7e1a998f8e15e49773c7eb5d93'}, + {'llvmlite-0.39_targetregistry.patch': '62c347a2d709c144fbe934a57d1f6703ddfccaf5b7049de2abbf93c4a9733730'}, + {'llvmlite-0.39_pass.patch': 'fb861a0dcfd1caa4aa54786840547352d63378a39b6321aea66e893ae2718381'}, + {'llvmlite-0.39_getparamattribute.patch': + 'edba3e1d33efdce79be486fd3c2604ef82d95a5b8f60fb6c5591963bb42748e7'}, + ], + }), + (name, version, { + 'checksums': ['32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -m llvmlite.tests", + "numba --help", +] + +moduleclass = 'lang' diff --git a/Golden_Repo/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb b/Golden_Repo/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..e0337785c7b99d185a93e19b3c1589f1acb0ca52 --- /dev/null +++ b/Golden_Repo/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2021 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr <b.mohr@fz-juelich.de> +# Markus Geimer <m.geimer@fz-juelich.de> +# Christian Feld <c.feld@fz-juelich.de> +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'ConfigureMake' + +name = 'OPARI2' +version = '2.0.7' + +homepage = 'https://www.score-p.org' +description = """ +OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a +source-to-source instrumentation tool for OpenMP and hybrid codes. +It surrounds OpenMP directives and runtime library calls with calls +to the POMP2 measurement interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/opari2/tags/opari2-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + 'e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715', # opari2-2.0.7.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/opari2', 'include/opari2/pomp2_lib.h'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb b/Golden_Repo/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..205208f567430749f4b50fce4b89ee13d5a59f07 --- /dev/null +++ b/Golden_Repo/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2022 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr <b.mohr@fz-juelich.de> +# Markus Geimer <m.geimer@fz-juelich.de> +# Christian Feld <c.feld@fz-juelich.de> +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'OTF2' +version = '3.0.2' + +homepage = 'https://www.score-p.org' +description = """ +The Open Trace Format 2 is a highly scalable, memory efficient event trace +data format plus support library. It is the new standard trace format for +Scalasca, Vampir, and TAU and is open for other tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + 'ae3a7ad83055d8f873738fee5031470652d31b9bcbf223dd556aea41f5f62303', # otf2-3.0.2.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/otf2-config', 'include/otf2/otf2.h', + ('lib/libotf2.a', 'lib64/libotf2.a'), + ('lib/libotf2.%s' % SHLIB_EXT, 'lib64/libotf2.%s' % SHLIB_EXT)], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCCcore-11.3.0.eb b/Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb similarity index 95% rename from Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCCcore-11.3.0.eb rename to Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb index e071d6825e86cc41c4040785a3b8c29ec03f371f..72e27286e561fb237c0e45f7823ed480329b4199 100644 --- a/Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCCcore-11.3.0.eb +++ b/Golden_Repo/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb @@ -4,7 +4,7 @@ version = '0.3.20' homepage = 'http://www.openblas.net/' description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} source_urls = [ # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index 6b211284208cf683ae8875ba79c9ea6d4a64d181..690b2151204daca07ac4aa29e7bec0e2a493ac0e 100644 --- a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -21,8 +21,6 @@ checksums = [ osdependencies = [ # needed for --with-verbs ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), - # needed for --with-pmix - ('pmix-devel'), ] builddependencies = [ diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.11.eb b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.11.eb index 54bae3f67683e1c539359aa1ec6b20098b03eb89..40ed67dfed508275d69f8b49c83b2c6e551c8709 100644 --- a/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.11.eb +++ b/Golden_Repo/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.11.eb @@ -21,8 +21,6 @@ checksums = [ osdependencies = [ # needed for --with-verbs ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), - # needed for --with-pmix - ('pmix-devel'), ] builddependencies = [ diff --git a/Golden_Repo/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb b/Golden_Repo/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb new file mode 100644 index 0000000000000000000000000000000000000000..b39f32e43c6673289720c24daa352d11d63ddc35 --- /dev/null +++ b/Golden_Repo/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20220317'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('OpenJPEG', '2.5.0'), + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('cairo', '1.17.4'), + ('Gdk-Pixbuf', '2.42.8'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', + 'bin/openslide-show-properties', + 'bin/openslide-write-png', + 'lib/libopenslide.la', + 'lib/libopenslide.%s' % SHLIB_EXT + ], + 'dirs': ['include/openslide'] +} + + +moduleclass = 'vis' diff --git a/Golden_Repo/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb b/Golden_Repo/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..d867a14fbf3b9dfe52c012acbf949526dbc251e5 --- /dev/null +++ b/Golden_Repo/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic <robert.mijakovic@lxp.lu> +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.0.0' + +homepage = 'https://icl.cs.utk.edu/projects/papi/' + +description = """ + PAPI provides the tool designer and application engineer with a consistent + interface and methodology for use of the performance counter hardware found + in most major microprocessors. PAPI enables software engineers to see, in near + real time, the relation between software performance and processor events. + In addition Component PAPI provides access to a collection of components + that expose performance measurement opportunites across the hardware and + software stack. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://icl.cs.utk.edu/projects/papi/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['799dcc317a47da96beaeed445812ecb6ae49df7c0504a4569797c1f7d74c4fd2'] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src' + +configopts = "--with-components='rapl sde' " # for energy measurements + +parallel = 1 + +runtest = 'fulltest' + +sanity_check_paths = { + 'files': ["bin/papi_%s" % x + for x in ["avail", "clockres", "command_line", "component_avail", + "cost", "decode", "error_codes", "event_chooser", + "mem_info", "multiplex_cost", "native_avail", + "version", "xml_event_info"]], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/p/Panoply/Panoply-5.2.2.eb b/Golden_Repo/p/Panoply/Panoply-5.2.2.eb new file mode 100644 index 0000000000000000000000000000000000000000..f30a46d522f46cc066cbd643abd21da9a8999ef3 --- /dev/null +++ b/Golden_Repo/p/Panoply/Panoply-5.2.2.eb @@ -0,0 +1,32 @@ +easyblock = 'PackedBinary' + +name = 'Panoply' +version = '5.2.2' + +homepage = 'https://www.giss.nasa.gov/tools/panoply' +description = "Panoply plots geo-referenced and other arrays from netCDF, HDF, GRIB, and other datasets." + + +toolchain = SYSTEM + +source_urls = ['https://www.giss.nasa.gov/tools/panoply/download/'] +sources = ['%(name)sJ-%(version)s.tgz'] +checksums = ['4488dd35f5f88ec330a606c4d5a4f34fa6f2b08146522df7a399b4df47c5ea68'] + +dependencies = [ + ('Java', '11', '', SYSTEM), +] + +postinstallcmds = [ + 'mkdir %(installdir)s/bin', + 'mv %(installdir)s/panoply.sh %(installdir)s/bin', + 'sed -i "s/jars/..\/jars/g" %(installdir)s/bin/panoply.sh', + 'ln -s %(installdir)s/bin/panoply.sh %(installdir)s/bin/panoply', +] + +sanity_check_paths = { + 'files': ['bin/panoply'], + 'dirs': ['jars'] +} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb b/Golden_Repo/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..28a972bcf25ac120c63601b0b7c331100869d687 --- /dev/null +++ b/Golden_Repo/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb @@ -0,0 +1,59 @@ +name = 'ParMETIS' + +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' + +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning + +unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the + +functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large + +scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way + +graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes. + +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +toolchainopts = {'optarch': True, 'usempi': True, 'pic': True, 'openmp': True} + +source_urls = ['http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis'] + +sources = [SOURCELOWER_TAR_GZ] + +patches = [ + + # Needed for elemental + + 'parmetis_computevertexseparator.patch' + +] + +checksums = [ + + 'f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f', # parmetis-4.0.3.tar.gz + + 'b82f5e869b971b5e49566091a79783cc267276bcddcd939abf2240f415287fa7', # parmetis_computevertexseparator.patch + +] + +builddependencies = [ + + ('CMake', '3.23.1') + +] + +modextravars = { + + 'PARMETIS_ROOT': '%(installdir)s', + + 'PARMETIS_LIB': '%(installdir)s/lib', + + 'PARMETIS_INCLUDE': '%(installdir)s/include' + +} + +moduleclass = 'math' diff --git a/Golden_Repo/p/ParMETIS/parmetis-4.0.3-double.patch b/Golden_Repo/p/ParMETIS/parmetis-4.0.3-double.patch new file mode 100644 index 0000000000000000000000000000000000000000..bf6f1c5a889fa3526873dd8a000bbffbda800cb8 --- /dev/null +++ b/Golden_Repo/p/ParMETIS/parmetis-4.0.3-double.patch @@ -0,0 +1,11 @@ +--- parmetis-4.0.3/metis/include/metis.h.orig 2013-03-30 17:24:50.000000000 +0100 ++++ parmetis-4.0.3/metis/include/metis.h 2016-04-20 11:07:49.485844000 +0200 +@@ -40,7 +40,7 @@ + 32 : single precission floating point (float) + 64 : double precission floating point (double) + --------------------------------------------------------------------------*/ +-#define REALTYPEWIDTH 32 ++#define REALTYPEWIDTH 64 + + + diff --git a/Golden_Repo/p/ParMETIS/parmetis_computevertexseparator.patch b/Golden_Repo/p/ParMETIS/parmetis_computevertexseparator.patch new file mode 100644 index 0000000000000000000000000000000000000000..adbc37c8510b4deeb44df2e2d1fd3652a257621a --- /dev/null +++ b/Golden_Repo/p/ParMETIS/parmetis_computevertexseparator.patch @@ -0,0 +1,186 @@ +diff -ruN parmetis-4.0.3.old/include/parmetis.h parmetis-4.0.3/include/parmetis.h +--- parmetis-4.0.3.old/include/parmetis.h 2017-04-05 17:20:11.888709466 +0200 ++++ parmetis-4.0.3/include/parmetis.h 2017-04-05 17:21:38.247478696 +0200 +@@ -113,6 +113,12 @@ + idx_t *vtxdist, idx_t *xadj, idx_t *adjncy, idx_t *numflag, + idx_t *options, idx_t *order, idx_t *sizes, MPI_Comm *comm); + ++void ParMETIS_ComputeVertexSeparator( ++ idx_t *vtxdist, idx_t *xadj, idx_t *adjncy, ++ idx_t *p_nseps, idx_t *s_nseps, ++ real_t *ubfrac, idx_t *idbglvl, idx_t *order, idx_t *sizes, ++ MPI_Comm *comm); ++ + #ifdef __cplusplus + } + #endif +diff -ruN parmetis-4.0.3.old/libparmetis/ComputeVertexSeparator.c parmetis-4.0.3/libparmetis/ComputeVertexSeparator.c +--- parmetis-4.0.3.old/libparmetis/ComputeVertexSeparator.c 1970-01-01 01:00:00.000000000 +0100 ++++ parmetis-4.0.3/libparmetis/ComputeVertexSeparator.c 2017-04-05 17:22:32.477589755 +0200 +@@ -0,0 +1,166 @@ ++/* ++ * Copyright 1997, Regents of the University of Minnesota ++ * Created by modifying ParMETIS routines by Jack Poulson, 2012-2015 ++ */ ++#include <parmetislib.h> ++ ++void ElParallelLabelVertices ++( ctrl_t *ctrl, graph_t *graph, idx_t *order, idx_t *sizes ) ++{ ++ idx_t i, j, nvtxs, id; ++ idx_t *where, *lpwgts, *gpwgts; ++ idx_t sizescan[3]; ++ ++ nvtxs = graph->nvtxs; ++ where = graph->where; ++ lpwgts = graph->lpwgts; ++ gpwgts = graph->gpwgts; ++ ++ /* Compute the local sizes of the left side, right side, and separator */ ++ iset(3, 0, lpwgts); ++ for (i=0; i<nvtxs; i++) ++ lpwgts[where[i]]++; ++ ++ /* Perform a Prefix scan of the separator size to determine the boundaries */ ++ gkMPI_Scan((void *)lpwgts, (void *)sizescan, 3, IDX_T, MPI_SUM, ctrl->comm); ++ gkMPI_Allreduce ++ ((void *)lpwgts, (void *)gpwgts, 3, IDX_T, MPI_SUM, ctrl->comm); ++ ++ /* Fill in the size of the partition */ ++ sizes[0] = gpwgts[0]; ++ sizes[1] = gpwgts[1]; ++ sizes[2] = gpwgts[2]; ++ ++ for( i=2; i>=0; --i ) ++ for( j=i+1; j<3; ++j ) ++ sizescan[i] += gpwgts[j]; ++ for( i=0; i<3; i++ ) ++ sizescan[i] -= lpwgts[i]; ++ ++ for( i=0; i<nvtxs; i++ ) ++ { ++ id = where[i]; ++ PASSERT(ctrl, id <= 2); ++ sizescan[id]++; ++ PASSERT(ctrl, order[i] == -1); ++ order[i] = graph->gnvtxs - sizescan[id]; ++ } ++} ++ ++void ElParallelOrder ++( ctrl_t *ctrl, graph_t *graph, idx_t *order, idx_t *sizes ) ++{ ++ idx_t i, nvtxs; ++ ++ nvtxs = graph->nvtxs; ++ iset(nvtxs, -1, order); ++ ++ /* graph->where = ismalloc(nvtxs, 0, "ElOrder: graph->where"); */ ++ /* If we computed an initial partition with Global_Partition, then we ++ should run the following instead of the above ismalloc of graph->where*/ ++ iset(nvtxs, 0, graph->where); ++ gk_free((void **)&graph->match, ++ (void **)&graph->cmap, ++ (void **)&graph->rlens, ++ (void **)&graph->slens, ++ (void **)&graph->rcand, LTERM); ++ ++ Order_Partition_Multiple(ctrl, graph); ++ ++ ElParallelLabelVertices(ctrl, graph, order, sizes); ++} ++ ++void ParMETIS_ComputeVertexSeparator ++( idx_t *vtxdist, idx_t *xadj, idx_t *adjncy, ++ idx_t *p_nseps, idx_t *s_nseps, ++ real_t *ubfrac, idx_t *idbglvl, idx_t *order, idx_t *sizes, ++ MPI_Comm *comm ) ++{ ++ idx_t i, j, npes, npesNonzero, mype, mypeNonzero, dbglvl, status, haveData; ++ ctrl_t *ctrl; ++ graph_t *graph; ++ MPI_Comm nonzeroComm, nullComm; ++ size_t curmem; ++ ++ gkMPI_Comm_size(*comm, &npes); ++ gkMPI_Comm_rank(*comm, &mype); ++ ++ if( vtxdist[npes] == 0 ) ++ { ++ sizes[0] = 0; ++ sizes[1] = 0; ++ sizes[2] = 0; ++ return; ++ } ++ ++ haveData = ( vtxdist[mype+1]-vtxdist[mype] != 0 ); ++ if( haveData ) ++ gkMPI_Comm_split(*comm, 1, mype, &nonzeroComm); ++ else ++ gkMPI_Comm_split(*comm, MPI_UNDEFINED, 0, &nullComm); ++ ++ if( !haveData ) ++ { ++ sizes[0] = sizes[1] = sizes[2] = 0; ++ gkMPI_Allreduce(MPI_IN_PLACE, (void *)sizes, 3, IDX_T, MPI_SUM, *comm); ++ return; ++ } ++ ++ gkMPI_Comm_size(nonzeroComm, &npesNonzero); ++ gkMPI_Comm_rank(nonzeroComm, &mypeNonzero); ++ ++ /* Compress the vtxdist data to make it match the new communicator */ ++ j=0; ++ for( i=1; i<npes+1; ++i ) ++ if( vtxdist[i] != vtxdist[j] ) ++ vtxdist[++j] = vtxdist[i]; ++ ++ status = METIS_OK; ++ gk_malloc_init(); ++ curmem = gk_GetCurMemoryUsed(); ++ ++ ctrl = SetupCtrl(PARMETIS_OP_KMETIS, NULL, 1, 2, NULL, NULL, nonzeroComm); ++ ++ dbglvl = (idbglvl == NULL ? 0 : *idbglvl); ++ ctrl->dbglvl = dbglvl; ++ ++ graph = SetupGraph(ctrl, 1, vtxdist, xadj, NULL, NULL, adjncy, NULL, 0); ++ AllocateWSpace(ctrl, 10*graph->nvtxs); ++ ++ /* Compute an initial partition: for some reason this improves the quality */ ++ ctrl->CoarsenTo = gk_min(vtxdist[npesNonzero]+1, ++ 200*gk_max(npesNonzero,ctrl->nparts)); ++ Global_Partition(ctrl, graph); ++ ++ /* Compute an ordering */ ++ ctrl->optype = PARMETIS_OP_OMETIS; ++ ctrl->partType = ORDER_PARTITION; ++ ctrl->mtype = PARMETIS_MTYPE_GLOBAL; ++ ctrl->rtype = PARMETIS_SRTYPE_2PHASE; ++ ctrl->p_nseps = (p_nseps == NULL ? 1 : *p_nseps); ++ ctrl->s_nseps = (s_nseps == NULL ? 1 : *s_nseps); ++ ctrl->ubfrac = (ubfrac == NULL ? ORDER_UNBALANCE_FRACTION : *ubfrac); ++ ctrl->dbglvl = dbglvl; ++ ctrl->ipart = ISEP_NODE; ++ ctrl->CoarsenTo = gk_min(graph->gnvtxs-1,1500*npesNonzero); ++ ElParallelOrder(ctrl, graph, order, sizes); ++ ++ FreeInitialGraphAndRemap(graph); ++ ++ /* Pass the data to the early-exiting processes with an allreduce */ ++ if( mypeNonzero != 0 ) ++ sizes[0] = sizes[1] = sizes[2] = 0; ++ gkMPI_Allreduce(MPI_IN_PLACE, (void*)sizes, 3, IDX_T, MPI_SUM, *comm); ++ ++ MPI_Comm_free( &nonzeroComm ); ++ ++ goto DONE; ++ ++DONE: ++ FreeCtrl(&ctrl); ++ if (gk_GetCurMemoryUsed() - curmem > 0) { ++ printf("ParMETIS appears to have a memory leak of %zdbytes. Report this.\n", ++ (ssize_t)(gk_GetCurMemoryUsed() - curmem)); ++ } ++ gk_malloc_cleanup(0); ++} diff --git a/Golden_Repo/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb b/Golden_Repo/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb index 0973b97707984a7eea75cc539851fe5d90593405..c430b0e2e0a330b3d13d741d6d43a13dae684376 100644 --- a/Golden_Repo/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb +++ b/Golden_Repo/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb @@ -21,7 +21,8 @@ dependencies = [ ('libpng', '1.6.37'), ('zlib', '1.2.12'), ('LibTIFF', '4.3.0'), - ('freetype', '2.12.1') + ('freetype', '2.12.1'), + ('libwebp', '1.2.4'), ] use_pip = True diff --git a/Golden_Repo/p/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb b/Golden_Repo/p/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ae344d6e856928432a28dd75605c72a588059245 --- /dev/null +++ b/Golden_Repo/p/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '14.4' + +homepage = 'https://www.postgresql.org/' +description = """PostgreSQL is a powerful, open source object-relational database system. + It is fully ACID compliant, has full support for foreign keys, + joins, views, triggers, and stored procedures (in multiple languages). + It includes most SQL:2008 data types, including INTEGER, + NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. + It also supports storage of binary large objects, including pictures, + sounds, or video. It has native programming interfaces for C/C++, Java, + .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ebb58a3ac76b910cd7ca103636d19efdc262cab841e9be00705456813d980955'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +sanity_check_paths = { + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], +} + +moduleclass = 'data' diff --git a/Golden_Repo/p/parallel/parallel-20220722-GCCcore-11.3.0.eb b/Golden_Repo/p/parallel/parallel-20220722-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..290d6b575fd418baa51c354919d8b0112226d029 --- /dev/null +++ b/Golden_Repo/p/parallel/parallel-20220722-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20220722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0e4083ac0d850c434598c6dfbf98f3b6dd2cc932a3af9269eb1f9323e43af019'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Perl', '5.34.1')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/Golden_Repo/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb b/Golden_Repo/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..44c578da8559b4bdebc56084e278edcdf09e876d --- /dev/null +++ b/Golden_Repo/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.15.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5d1eda9bad4439bb9c0a87fcba198d7c0d372f361e77de41d68d6308062e5000'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb b/Golden_Repo/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb new file mode 100644 index 0000000000000000000000000000000000000000..568e0498ef7796bfd55558c09dcd0c0e392d384b --- /dev/null +++ b/Golden_Repo/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'pkgconfig' +version = '1.5.5' +# The -python versionsuffix is used to avoid confusion between +# pkg-config (the tool) and pkgconfig (the Python wrappers) +versionsuffix = '-python' + +homepage = 'https://github.com/matze/pkgconfig' +description = """pkgconfig is a Python module to interface with the pkg-config command line tool""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('pkgconf', '1.8.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/Golden_Repo/p/pocl/pocl-1.8-GCC-11.3.0.eb b/Golden_Repo/p/pocl/pocl-1.8-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..d9dbdf2fa1dbaa41131f2c6d51de9e2f4553039c --- /dev/null +++ b/Golden_Repo/p/pocl/pocl-1.8-GCC-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' + +homepage = 'https://portablecl.org' +description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/pocl/pocl/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pocl-%(version)s_fix-header-install.patch'] +checksums = [ + '0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2', # v1.8.tar.gz + '97dc45437ae7464bda9f13088720482804b8a19a4e71067196daa86af487222d', # pocl-1.8_fix-header-install.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Clang', '13.0.1'), + ('hwloc', '2.7.1'), + ('libtool', '2.4.7'), + ('libxml2', '2.9.13'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " +# make sure we use the easybuild Clang +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON " +# avoid host CPU auto-detection (which may fail on recent CPUs) +configopts += "-DLLC_HOST_CPU=native " + +sanity_check_paths = { + 'files': ['bin/poclcc', 'lib64/libOpenCL.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/p/pocl/pocl-1.8_fix-header-install.patch b/Golden_Repo/p/pocl/pocl-1.8_fix-header-install.patch new file mode 100644 index 0000000000000000000000000000000000000000..aa74658080d20bb4ce13d3d351db81d08de3a5f6 --- /dev/null +++ b/Golden_Repo/p/pocl/pocl-1.8_fix-header-install.patch @@ -0,0 +1,24 @@ +see https://github.com/pocl/pocl/issues/1000 + https://github.com/pocl/pocl/pull/1001 + +From f5a841706edd5b201274337660528d75797031bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Gem=C3=BCnd?= + <andre.gemuend@scai.fraunhofer.de> +Date: Thu, 11 Nov 2021 09:38:24 +0100 +Subject: [PATCH] Add missing cl_ext_pocl.h to install. + +--- + include/CL/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/CL/CMakeLists.txt b/include/CL/CMakeLists.txt +index 63e6b1ba4..eb4f4773d 100644 +--- a/include/CL/CMakeLists.txt ++++ b/include/CL/CMakeLists.txt +@@ -35,6 +35,7 @@ if(INSTALL_OPENCL_HEADERS) + cl_ext.h + cl_egl.h + cl_ext_intel.h ++ cl_ext_pocl.h + cl_gl.h + cl_gl_ext.h + cl_half.h diff --git a/Golden_Repo/p/pretty-yaml/pretty-yaml-21.10.1-GCCcore-11.3.0.eb b/Golden_Repo/p/pretty-yaml/pretty-yaml-21.10.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..cea99c44824157a0742552e0743f5335d2bdb362 --- /dev/null +++ b/Golden_Repo/p/pretty-yaml/pretty-yaml-21.10.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pretty-yaml' +local_mod = 'pyaml' +version = '21.10.1' + +homepage = 'https://github.com/mk-fg/pretty-yaml' +description = """PyYAML-based python module to produce pretty and readable YAML-serialized data. +This module is for serialization only, see ruamel.yaml module for literate YAML +parsing (keeping track of comments, spacing, line/column numbers of values, etc).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/%s/' % local_mod] +sources = ['%s-%%(version)s.tar.gz' % local_mod] +checksums = ['c6519fee13bf06e3bb3f20cacdea8eba9140385a7c2546df5dbae4887f768383'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': local_mod} + +moduleclass = 'lib' diff --git a/Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-CUDA.eb b/Golden_Repo/p/psmpi-settings/psmpi-settings-5-CUDA.eb similarity index 98% rename from Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-CUDA.eb rename to Golden_Repo/p/psmpi-settings/psmpi-settings-5-CUDA.eb index ddb203c2252b0b17c1d071d679a9a141b04e143a..f1f0557309f4e69160bcac47c44921b0f323a853 100644 --- a/Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-CUDA.eb +++ b/Golden_Repo/p/psmpi-settings/psmpi-settings-5-CUDA.eb @@ -1,7 +1,7 @@ easyblock = 'SystemBundle' name = 'psmpi-settings' -version = '5.6' +version = '5' versionsuffix = 'CUDA' homepage = '' diff --git a/Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-UCX.eb b/Golden_Repo/p/psmpi-settings/psmpi-settings-5-UCX.eb similarity index 95% rename from Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-UCX.eb rename to Golden_Repo/p/psmpi-settings/psmpi-settings-5-UCX.eb index 7e82e4a74b46d69084d43c8d59ea474222e92a9f..3f0f135e759d20f791754b5a4bbbeb136772a12d 100644 --- a/Golden_Repo/p/psmpi-settings/psmpi-settings-5.6-UCX.eb +++ b/Golden_Repo/p/psmpi-settings/psmpi-settings-5-UCX.eb @@ -1,7 +1,7 @@ easyblock = 'SystemBundle' name = 'psmpi-settings' -version = '5.6' +version = '5' versionsuffix = 'UCX' homepage = '' diff --git a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb similarity index 91% rename from Golden_Repo/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb rename to Golden_Repo/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb index 26f4f9221fe486e2b2ab5a6104c4981288fc9e0a..0673d21762810ae538f1bcd39c7ebb7a8dbad1d2 100644 --- a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb +++ b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb @@ -1,5 +1,5 @@ name = 'psmpi' -version = '5.6.0-1' +version = '5.7.0-1' homepage = 'https://github.com/ParaStation/psmpi2' description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, @@ -12,8 +12,8 @@ toolchain = {'name': 'GCC', 'version': '11.3.0'} sources = [SOURCE_TAR_GZ] source_urls = ['https://github.com/ParaStation/psmpi/archive/'] checksums = [ - # psmpi-5.6.0-1.tar.gz - 'bb532c9cc49da31384bb7d73faccf0be224317bc5b055723095c3965f7ad6209', + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch # psmpi-5.5.0-1_ime.patch 'c2418b9511560dca197242508de9c7b6b117122912b6d3a4aa18398834f465ff', diff --git a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-NVHPC-22.11.eb b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb similarity index 91% rename from Golden_Repo/p/psmpi/psmpi-5.6.0-1-NVHPC-22.11.eb rename to Golden_Repo/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb index 07d09cdabbc5b0c39fa76e19570f92b47fc9dfd7..70c5404b67724cae1ef03be50ff593f2cbcec683 100644 --- a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-NVHPC-22.11.eb +++ b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb @@ -1,5 +1,5 @@ name = 'psmpi' -version = '5.6.0-1' +version = '5.7.0-1' homepage = 'https://github.com/ParaStation/psmpi2' description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, @@ -12,8 +12,8 @@ toolchain = {'name': 'NVHPC', 'version': '22.11'} sources = [SOURCE_TAR_GZ] source_urls = ['https://github.com/ParaStation/psmpi/archive/'] checksums = [ - # psmpi-5.6.0-1.tar.gz - 'bb532c9cc49da31384bb7d73faccf0be224317bc5b055723095c3965f7ad6209', + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch # psmpi-5.5.0-1_ime.patch 'c2418b9511560dca197242508de9c7b6b117122912b6d3a4aa18398834f465ff', diff --git a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-intel-compilers-2022.1.0.eb b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb similarity index 91% rename from Golden_Repo/p/psmpi/psmpi-5.6.0-1-intel-compilers-2022.1.0.eb rename to Golden_Repo/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb index 2d420ef264e2d80b766675c60cf1888f180ae98b..ba1eecdd475c808b2cdbe9d9653e597f2152c405 100644 --- a/Golden_Repo/p/psmpi/psmpi-5.6.0-1-intel-compilers-2022.1.0.eb +++ b/Golden_Repo/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb @@ -1,5 +1,5 @@ name = 'psmpi' -version = '5.6.0-1' +version = '5.7.0-1' homepage = 'https://github.com/ParaStation/psmpi2' description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, @@ -12,8 +12,8 @@ toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} sources = [SOURCE_TAR_GZ] source_urls = ['https://github.com/ParaStation/psmpi/archive/'] checksums = [ - # psmpi-5.6.0-1.tar.gz - 'bb532c9cc49da31384bb7d73faccf0be224317bc5b055723095c3965f7ad6209', + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch # psmpi-5.5.0-1_ime.patch 'c2418b9511560dca197242508de9c7b6b117122912b6d3a4aa18398834f465ff', diff --git a/Golden_Repo/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb b/Golden_Repo/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..9d96c47ef05d072b60b59dda1a237cb733bea35f --- /dev/null +++ b/Golden_Repo/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'pytest-xdist' +version = '2.5.0' + +homepage = 'https://github.com/pytest-dev/pytest-xdist' +description = """xdist: pytest distributed testing plugin + +The pytest-xdist plugin extends pytest with some unique test execution modes: + + * test run parallelization: if you have multiple CPUs or hosts you + can use those for a combined test run. This allows to speed up + development or to use special resources of remote machines. + + * --looponfail: run your tests repeatedly in a subprocess. After + each run pytest waits until a file in your project changes and + then re-runs the previously failing tests. This is repeated + until all tests pass after which again a full run is + performed. + + * Multi-Platform coverage: you can specify different Python + interpreters or different platforms and run tests in parallel on + all of them. + +Before running tests remotely, pytest efficiently “rsyncs” your +program source code to the remote place. All test results are reported +back and displayed to your local terminal. You may specify different +Python versions and interpreters.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('apipkg', '1.5', { + 'checksums': ['37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-forked', '1.4.0', { + 'checksums': ['8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e'], + }), + (name, version, { + 'modulename': 'xdist', + 'checksums': ['4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/p/pyvips/pyvips-2.2.1-foss-2022a.eb b/Golden_Repo/p/pyvips/pyvips-2.2.1-foss-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..d232a769804d77ecdd8530edc14065e907538ca4 --- /dev/null +++ b/Golden_Repo/p/pyvips/pyvips-2.2.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyvips' +version = '2.2.1' + +homepage = 'https://github.com/libvips/pyvips/tags' +description = """Pyvips is the python bindings for libvips: a demand-driven, + horizontally threaded image processing library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/libvips/pyvips/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['37a0fc33556a1057ba05dc5a6f3029975539c5f0b63bd84ecd6eae3862898103'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('libvips', '8.13.3'), + ('pkgconfig', '1.5.5', '-python'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'pyvips'} + +moduleclass = 'vis' diff --git a/Golden_Repo/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb b/Golden_Repo/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb index a9d014e9d7564a2503552ee294f4438429ac2c92..70ab697d8314603836c47c02093f92a8f4fb5f20 100644 --- a/Golden_Repo/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb +++ b/Golden_Repo/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb @@ -23,11 +23,16 @@ patches = [ 'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch', ] checksums = [ - '5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06', # qt-everywhere-opensource-src-5.15.5.tar.xz - '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.13.1_fix-avx2.patch - '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.13.1_fix-qmake-libdir.patch - '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', # Qt5-5.14.1_fix-OF-Gentoo.patch - '599cc94535dc276a5d97e002c81907c74ead9dc8d55f35567017fb7a491aaf01', # Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch + # qt-everywhere-opensource-src-5.15.5.tar.xz + '5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06', + # Qt5-5.13.1_fix-avx2.patch + '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', + # Qt5-5.13.1_fix-qmake-libdir.patch + '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', + # Qt5-5.14.1_fix-OF-Gentoo.patch + '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', + # Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch + '599cc94535dc276a5d97e002c81907c74ead9dc8d55f35567017fb7a491aaf01', ] builddependencies = [ @@ -55,7 +60,7 @@ dependencies = [ ('fontconfig', '2.14.0'), ('DBus', '1.14.0'), ('libevent', '2.1.12'), - ('libGLU', '9.0.2'), + ('OpenGL', '2022a'), ('libjpeg-turbo', '2.1.3'), ('NSS', '3.79'), ('snappy', '1.1.9'), diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.3.0-tools.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.3.0-tools.eb new file mode 100644 index 0000000000000000000000000000000000000000..425c404cee4407cd562b83719abd076e8699971e --- /dev/null +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.3.0-tools.eb @@ -0,0 +1,36 @@ +easyblock = "ConfigureMake" +name = "SIONlib" +version = "1.7.7" +versionsuffix = '-tools' + +homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """SIONlib is a scalable I/O library for parallel access to task-local files. +The library not only supports writing and reading binary data to or from several thousands of +processors into a single or a small number of physical files, but also provides global open +and close functions to access SIONlib files in parallel. This package provides a stripped-down +installation of SIONlib for use with performance tools (e.g., Score-P), with renamed symbols +to avoid conflicts when an application using SIONlib itself is linked against a tool requiring +a different SIONlib version. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)sl'] +sources = ['sionlib-%(version)sl.tar.gz'] +checksums = ['3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c'] + +builddependencies = [ + ('binutils', '2.38') +] + +hidden = True + +configopts = '--disable-mic --disable-cxx --disable-fortran --disable-ompi' + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['lsioncom', 'lsiongen', 'lsionser']], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb b/Golden_Repo/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..f1a2758986f91f3d63aecd2ad7fec9131ac932c1 --- /dev/null +++ b/Golden_Repo/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +name = 'SWIG' +version = '4.0.2' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('zlib', '1.2.12'), + ('PCRE', '8.45'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/Golden_Repo/s/strace/strace-6.1-GCCcore-11.3.0.eb b/Golden_Repo/s/strace/strace-6.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..f4441d492c393bc7be2ec544f8b443de5fc97a63 --- /dev/null +++ b/Golden_Repo/s/strace/strace-6.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'strace' +version = '6.1' + +homepage = 'https://strace.io/' +description = """ +strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with +interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of +process state. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://github.com/strace/strace/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['2579e9cec37dbb786f6ea0bebd15f40dd561ef2bde2a2a2ecdce5963b01859fd'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/strace-log-merge', 'bin/strace'], + 'dirs': ['share'] +} + +sanity_check_commands = ['strace --help'] + +moduleclass = 'system' diff --git a/Golden_Repo/t/TotalView/TotalView-2022.4.27-GCCcore-11.3.0.eb b/Golden_Repo/t/TotalView/TotalView-2022.4.27-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..4cdecf2fb1a66118a7f0c3110303541074ff4a20 --- /dev/null +++ b/Golden_Repo/t/TotalView/TotalView-2022.4.27-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# This is an easyconfig file for EasyBuild, see +# https://github.com/hpcugent/easybuild +# Copyright:: Copyright 2014 Juelich Supercomputing Centre, Germany +# Authors:: Alexandre Strube <surak@surak.eti.br> +# License:: New BSD +# +# This work is based from experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = "TotalView" +version = "2022.4.27" + +homepage = 'http://www.roguewave.com/products-services/totalview' + +description = """TotalView breaks down barriers to understanding what's going + on with your high-performance computing (HPC) and supercomputing applications. + Purpose-built for multicore and parallel computing, TotalView provides a set + of tools providing unprecedented control over processes and thread execution, + along with deep visibility into program states and data. + + By allowing the simultaneous debugging of many processes and threads in a + single window, you get complete control over program execution: running, + stepping, and halting line-by-line through code within a single thread or + within arbitrary groups of processes or threads. You can also work backwards + from failure through reverse debugging, isolating the root cause faster by + eliminating the need to repeatedly restart the application, reproduce and + troubleshoot difficult problems that can occur in concurrent programs that + take advantage of threads, OpenMP, MPI, GPUs, or coprocessors. + + With customizable displays of the state of your running program, memory leaks, + deadlocks, and race conditions are things of the past. Whether you're a + scientific and technical computing veteran, or new to the development + challenges of multicore or parallel applications, TotalView gives you the + insight to find and correct errors quickly, validate prototypes early, verify + calculations accurately, and above all, certify code correctly. + + TotalView works with C, C++, and Fortran applications written for Linux + (including the Cray and Blue Gene platforms), UNIX, Mac OS X, and Xeon Phi + coprocessor, and supports OpenMP, MPI, and OpenACC / CUDA. + """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + + +dependencies = [ + ('X11', '20220504'), +] + +sources = [ + '%(namelower)s_%(version)s_linux_x86-64.tar', + '%(namelower)s.%(version)s-doc.tar', +] +checksums = [ + {'totalview_2022.4.27_linux_x86-64.tar': '7c5b0f646d21287d35a191ccebc4dfea2bc9971962f1ccbefe53f3e57f7164d4'}, + {'totalview.2022.4.27-doc.tar': '66644f577394a73be546c614814c9247eaaf9356089e8fb4b73d23b6c80ecf67'}, +] + +sanity_check_paths = { + 'files': ["toolworks/%(namelower)s.%(version)s/bin/totalview"], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/Golden_Repo/t/texlive/texlive-20220321-GCCcore-11.3.0.eb b/Golden_Repo/t/texlive/texlive-20220321-GCCcore-11.3.0.eb index b7569638ad93fc640e978490a3a34426fdb0e7ae..c3a082a91d95dcd3a3b94630eb5998c9daf3a4e5 100644 --- a/Golden_Repo/t/texlive/texlive-20220321-GCCcore-11.3.0.eb +++ b/Golden_Repo/t/texlive/texlive-20220321-GCCcore-11.3.0.eb @@ -29,7 +29,7 @@ dependencies = [ ('binutils', '2.38'), ('X11', '20220504'), ('libpng', '1.6.37'), - ('libGLU', '9.0.2'), + ('OpenGL', '2022a'), ('Perl', '5.34.1'), ('HarfBuzz', '4.2.1'), ('poppler', '22.10.0'), diff --git a/Golden_Repo/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.eb b/Golden_Repo/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.eb new file mode 100644 index 0000000000000000000000000000000000000000..6967bb91936bfc9b9d9ac378b67304b55133eeb4 --- /dev/null +++ b/Golden_Repo/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.eb @@ -0,0 +1,23 @@ +name = 'torchvision' +version = '0.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c32fab734e62c7744dadeb82f7510ff58cc3bca1189d17b16aa99b08afc42249'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('CUDA', '11.7', '', SYSTEM), + ('Python', '3.10.4'), + ('Pillow-SIMD', '9.2.0'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), +] + +moduleclass = 'vis' diff --git a/Golden_Repo/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.0.eb b/Golden_Repo/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..e07aab5a73a46cceb63c2ccfb695419f9f0ff891 --- /dev/null +++ b/Golden_Repo/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg, Ghent University +# Authors:: Fotis Georgatos <fotis@cern.ch>, Kenneth Hoste (Ghent University) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'ConfigureMake' + +name = 'UDUNITS' +version = '2.2.28' + +homepage = 'https://www.unidata.ucar.edu/software/udunits/' +description = """UDUNITS supports conversion of unit specifications between formatted and binary forms, + arithmetic manipulation of units, and conversion of values between compatible scales of measurement.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://artifacts.unidata.ucar.edu/repository/downloads-udunits/%(version)s/', + 'https://sources.easybuild.io/u/UDUNITS/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('expat', '2.4.8')] + +sanity_check_paths = { + 'files': ['bin/udunits2', 'include/converter.h', 'include/udunits2.h', 'include/udunits.h', + 'lib/libudunits2.a', 'lib/libudunits2.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +parallel = 1 + +moduleclass = 'phys' diff --git a/Golden_Repo/v/Vampir/Vampir-10.2.0.eb b/Golden_Repo/v/Vampir/Vampir-10.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..0a4e37c6d3a3365c384f8efea22cdaa393b09034 --- /dev/null +++ b/Golden_Repo/v/Vampir/Vampir-10.2.0.eb @@ -0,0 +1,45 @@ +# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild +# Copyright:: Copyright 2013 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr <b.mohr@fz-juelich.de> +# License:: New BSD +# +# This work is based from experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "Vampir" +version = "10.2.0" +local_archsuffix = "-linux-x86_64" + +homepage = 'http://www.vampir.eu' +description = """The VAMPIR software tool provides an easy-to-use framework that enables +developers to quickly display and analyze arbitrary program behavior at any level of detail. +The tool suite implements optimized event analysis algorithms and customizable displays that +enable fast and interactive rendering of very complex performance monitoring data. + +""" + +toolchain = SYSTEM + +sources = ['vampir-%s%s-setup.sh' % (version, local_archsuffix)] +checksums = ['226cc10804de45a6d1860fd71c79de1becc4ab2495e41258a95489b2f4b953c2'] + +install_cmd = './vampir-%(version)s-linux-x86_64-setup.sh --silent --instdir=%(installdir)s' + +sanity_check_paths = { + 'files': ["bin/vampir", "doc/vampir-manual.pdf"], + 'dirs': [] +} + +local_licdir = '/p/software/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'] + +modextravars = { + 'VAMPIR_LICENSE': '/p/software/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/v/VampirServer/VampirServer-10.2.0-gpsmpi-2022a.eb b/Golden_Repo/v/VampirServer/VampirServer-10.2.0-gpsmpi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..d38555c06812fabba5414b9c893c64c05128b599 --- /dev/null +++ b/Golden_Repo/v/VampirServer/VampirServer-10.2.0-gpsmpi-2022a.eb @@ -0,0 +1,64 @@ +# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild +# Copyright:: Copyright 2013 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr <b.mohr@fz-juelich.de> +# License:: New BSD +# +# This work is based from experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "VampirServer" +version = "10.2.0" + +homepage = 'http://www.vampir.eu' +description = """The VAMPIR software tool provides an easy-to-use framework that enables +developers to quickly display and analyze arbitrary program behavior at any level of detail. +The tool suite implements optimized event analysis algorithms and customizable displays that +enable fast and interactive rendering of very complex performance monitoring data. +""" + +usage = """ +To start VampirServer +module load Vampir VampirServer +vampir & +BATCH_OPT="--account=<budget> --partition=<partition>" vampirserver start -n 4 mpi +(note server + port + server_id) +- Use it +Vampir GUI-> open other -> remote file -> server + port +- To stop VampirServer +vampirserver stop <server_id> +""" + +toolchain = {'name': 'gpsmpi', 'version': '2022a'} + +toolchainopts = {"usempi": True} + +sources = ['vampirserver-%s-linux-x86_64-setup.sh' % (version)] +checksums = ['49c70fa0f4a3cd82b607d999da7af4411a88ece4bb5d9dfb2b3c89611d163064'] + +install_cmd = ('./vampirserver-%(version)s-linux-x86_64-setup.sh --silent --instdir=%(installdir)s ' + '&& %(installdir)s/bin/vampirserver config --silent') + +sanity_check_paths = { + 'files': ["bin/vampirserver", "doc/vampirserver-manual.pdf"], + 'dirs': [] +} + +# Remove Cray-specific 'ap' launcher, +# use SLURM launcher as MPI launcher and default +postinstallcmds = [ + 'rm %(installdir)s/etc/server/launcher/ap', + '''sed -i s/'BATCH_OPT=""'/'#BATCH_OPT=""'/g %(installdir)s/etc/server/launcher/custom/slurm''', + 'cp %(installdir)s/etc/server/launcher/custom/slurm %(installdir)s/etc/server/launcher/mpi', +] + +modextravars = { + 'VAMPIR_LICENSE': '/p/software/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb b/Golden_Repo/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..5a1b0de4cdcad812bacac485cb44bd23a2c917a5 --- /dev/null +++ b/Golden_Repo/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.1' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb302c5c33e14bab94603940987940f29203ecb8767a7a719daf579fbfaace64'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/Golden_Repo/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb b/Golden_Repo/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2d806a829fce5abd0260e808b5b6188f73cd98e8 --- /dev/null +++ b/Golden_Repo/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.5' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/Golden_Repo/z/zarr/zarr-2.13.3-foss-2022a.eb b/Golden_Repo/z/zarr/zarr-2.13.3-foss-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..b20247a5b8e7dfe37eb5c587b6af4ad2c7d5bcb9 --- /dev/null +++ b/Golden_Repo/z/zarr/zarr-2.13.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.13.3' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.10.2', { + 'checksums': ['22838c6b3fd986bd9c724039b88870057f790e22b20e6e1cbbaa0de142dd59c4'], + }), + (name, version, { + 'checksums': ['db24b090616c638f65e33a6bc5d956d642221182961515ccbc28b17fb0d0b48c'], + }), +] + +moduleclass = 'data' diff --git a/Overlays/hdfml_overlay/n/nvidia-driver/nvidia-driver-default.eb b/Overlays/hdfml_overlay/n/nvidia-driver/nvidia-driver-default.eb new file mode 100644 index 0000000000000000000000000000000000000000..6bce31f65d212b5ff775161523125f6dbf5c1c0e --- /dev/null +++ b/Overlays/hdfml_overlay/n/nvidia-driver/nvidia-driver-default.eb @@ -0,0 +1,27 @@ +name = 'nvidia-driver' +version = 'default' +realversion = '515.86.01' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = f""" +This is a set of libraries normally installed by the NVIDIA driver installer. + +The real version of this package is {realversion}. +""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = SYSTEM + +source_urls = ['http://us.download.nvidia.com/tesla/%s/' % realversion] +sources = ['NVIDIA-Linux-x86_64-%s.run' % realversion] +checksums = ['141777e1ca2f11e97d8d33260213f1be327eb73922ae22f4ddab404bb2ef4664'] + +# To avoid conflicts between NVML and the kernel driver +postinstallcmds = ['rm %(installdir)s/lib64/libnvidia-ml.so*'] + +modluafooter = ''' +add_property("arch","gpu") +''' + +moduleclass = 'system' diff --git a/Overlays/hdfml_overlay/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/Overlays/hdfml_overlay/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index 39982bce8a9aa7774219d2bc26413adb338ab69d..628afaded350470ca24258d66033303e71020ff1 100644 --- a/Overlays/hdfml_overlay/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/Overlays/hdfml_overlay/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -21,8 +21,6 @@ checksums = [ osdependencies = [ # needed for --with-verbs ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), - # needed for --with-pmix - ('pmix-devel'), ] builddependencies = [ diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb similarity index 86% rename from Overlays/hdfml_overlay/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb rename to Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb index 341924da867f56c87339d3f5d9462d537ff7a063..8f16abaa8fb8ef6d4ea0f0966c1b9b90bb3b44b1 100644 --- a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.6.0-1-GCC-11.3.0.eb +++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-GCC-11.3.0.eb @@ -1,5 +1,5 @@ name = 'psmpi' -version = '5.6.0-1' +version = '5.7.0-1' homepage = 'https://github.com/ParaStation/psmpi2' description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, @@ -12,8 +12,8 @@ toolchain = {'name': 'GCC', 'version': '11.3.0'} sources = [SOURCE_TAR_GZ] source_urls = ['https://github.com/ParaStation/psmpi/archive/'] checksums = [ - # psmpi-5.6.0-1.tar.gz - 'bb532c9cc49da31384bb7d73faccf0be224317bc5b055723095c3965f7ad6209', + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch ] @@ -34,7 +34,7 @@ patches = [ # We don't have IME in HDFML so we skip this # mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' # -# preconfigopts += 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +# preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' # preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' mpich_opts = '--enable-static --with-file-system=ufs+gpfs --enable-romio' diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb new file mode 100644 index 0000000000000000000000000000000000000000..125606353501b4c3bb343cae4665845d849d3dfc --- /dev/null +++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-NVHPC-22.11.eb @@ -0,0 +1,45 @@ +name = 'psmpi' +version = '5.7.0-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. +""" + +toolchain = {'name': 'NVHPC', 'version': '22.11'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] +checksums = [ + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', + '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch +] + +dependencies = [ + ('pscom', '5.6-default'), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.13'), + # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed + ('CUDA', '11.7', '', SYSTEM) +] + +patches = [ + 'psmpi_shebang.patch', + # We don't have IME in HDFML so we skip this + # 'psmpi-5.5.0-1_ime.patch' +] + +# We don't have IME in HDFML so we skip this +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# +# preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +# preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' +mpich_opts = '--enable-static --with-file-system=ufs+gpfs --enable-romio' + +threaded = False + +cuda = True + +moduleclass = 'mpi' diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..cf308960ed923a6717e7e7ddbfae4bf0980de7b1 --- /dev/null +++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.7.0-1-intel-compilers-2022.1.0.eb @@ -0,0 +1,45 @@ +name = 'psmpi' +version = '5.7.0-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. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['https://github.com/ParaStation/psmpi/archive/'] +checksums = [ + # psmpi-5.7.0-1.tar.gz + '0c1c8556afedfb08cd612f379ddb6327ef1bb0867d6f6fed3d610f3d8c790883', + '978eb3223c978477c40987f745c07fda26ccbad2f468616faf92f0d71b81a156', # psmpi_shebang.patch +] + +dependencies = [ + ('pscom', '5.6-default'), + # needed due to the inclusion of hwloc + ('libxml2', '2.9.13'), + # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed + ('CUDA', '11.7', '', SYSTEM) +] + +patches = [ + 'psmpi_shebang.patch', + # We don't have IME in HDFML so we skip this + # 'psmpi-5.5.0-1_ime.patch' +] + +# We don't have IME in HDFML so we skip this +# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio' +# +# preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && ' +# preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && ' +mpich_opts = '--enable-static --with-file-system=ufs+gpfs --enable-romio' + +threaded = False + +cuda = True + +moduleclass = 'mpi' diff --git a/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb b/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb new file mode 100644 index 0000000000000000000000000000000000000000..45793958bf1aefc5aa52e02f5b6b6847dc65c28d --- /dev/null +++ b/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb @@ -0,0 +1,21 @@ +easyblock = 'SystemBundle' + +name = 'impi-settings' +version = '2021' +versionsuffix = 'UCX' + +homepage = '' +description = 'This module loads the IntelMPI configuration with UCX.' + +toolchain = SYSTEM + +source_urls = [] + +sources = [] + +modextravars = { + 'FI_PROVIDER': 'mlx', + 'I_MPI_PMI_VALUE_LENGTH_MAX': '900', +} + +moduleclass = 'system' diff --git a/Overlays/juwels_overlay/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb b/Overlays/juwels_overlay/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..7838c322f5832936b6360722e896e3ad915a6221 --- /dev/null +++ b/Overlays/juwels_overlay/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.6.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': '2022.1.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/18714/'] +sources = ['l_mpi_oneapi_p_%(version)s.602_offline.sh'] +checksums = ['e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6'] + +dependencies = [('UCX', 'default')] + +moduleclass = 'mpi' diff --git a/acls.yml b/acls.yml index e562d74866cf68f5e6f9e30bb563b52d118e0a60..e3e9e479e72411471ab1e177fbf7f22e2d2ba747 100644 --- a/acls.yml +++ b/acls.yml @@ -53,10 +53,10 @@ compilers: - name: 'NVHPC' version: '22' - name: 'intel' - version: '2021' + version: '2022' mpis: - name: 'psmpi' - version: '5.6' + version: '5' - name: 'impi' version: '2021' - name: 'OpenMPI' @@ -132,7 +132,7 @@ software: owner: 'goebbert1' base: True - name: 'ImageMagick' - owner: 'goebbert1' + owner: 'strube1' base: True - name: 'ispc' owner: 'goebbert1' @@ -209,7 +209,7 @@ software: owner: 'goebbert1' base: True - name: 'libaec' - owner: 'goebbert1' + owner: 'griessbach1' base: True - name: 'libdrm' owner: 'goebbert1' @@ -226,14 +226,11 @@ software: - name: 'libvpx' owner: 'strube1' base: True - - name: 'libwebp' - owner: 'goebbert1' - base: True - name: 'libyuv' owner: 'goebbert1' base: True - name: 'LittleCMS' - owner: 'goebbert1' + owner: 'strube1' base: True - name: 'lz4' owner: 'goebbert1' @@ -450,7 +447,7 @@ software: base: True - name: 'Cartopy' owner: 'strube1' - base: True + mpi: True - name: 'ccache' owner: 'strube1' system: True @@ -541,6 +538,9 @@ software: - name: 'giflib' owner: 'strube1' base: True + - name: 'Ghostscript' + owner: 'strube1' + base: True - name: 'git' owner: 'strube1' base: True @@ -553,6 +553,9 @@ software: - name: 'GLFW' owner: 'strube1' base: True + - name: 'GLPK' + owner: ['strube1', 'knobloch1'] + base: True - name: 'GMP' owner: 'strube1' base: True @@ -579,6 +582,9 @@ software: - name: 'GTK+' owner: 'strube1' base: True + - name: 'GTK2' + owner: 'strube1' + base: True - name: 'Guile' owner: 'achilles4' base: True @@ -588,6 +594,7 @@ software: - name: 'HTSlib' owner: 'strube1' base: True + compiler: True - name: 'Horovod' owner: 'strube1' mpi: True @@ -672,12 +679,16 @@ software: - name: 'libvips' owner: 'strube1' base: True + mpi: True - name: 'libxslt' owner: 'strube1' base: True - name: 'libyaml' owner: 'strube1' base: True + - name: 'libwebp' + owner: 'strube1' + base: True - name: 'Lua' owner: 'strube1' base: True @@ -742,6 +753,7 @@ software: - name: 'numba' owner: 'strube1' base: True + mpi: True - name: 'OpenJPEG' owner: 'achilles4' base: True @@ -772,9 +784,13 @@ software: - name: 'Pillow-SIMD' owner: 'strube1' base: True + - name: 'pkgconfig' + owner: 'strube1' + base: True - name: 'pocl' owner: 'strube1' base: True + compiler: True - name: 'PostgreSQL' owner: 'strube1' base: True @@ -814,6 +830,7 @@ software: - name: 'pyvips' owner: 'strube1' base: True + mpi: True - name: 'PyYAML' owner: 'strube1' base: True @@ -916,7 +933,7 @@ software: base: True mpi: True - name: 'texlive' - owner: 'achilles4' + owner: ['achilles4', 'strube1'] base: True - name: 'makeinfo' owner: 'achilles4' @@ -933,6 +950,7 @@ software: - name: 'torchvision' owner: 'strube1' base: True + mpi: True - name: 'tqdm' owner: 'strube1' base: True @@ -959,7 +977,8 @@ software: base: 'true' - name: 'XGBoost' owner: 'strube1' - base: 'true' + base: True + mpi: True - name: 'Yasm' owner: 'strube1' base: 'true' @@ -972,6 +991,7 @@ software: - name: 'zarr' owner: 'strube1' base: 'true' + mpi: True - name: 'zstd' owner: 'strube1' base: 'true' @@ -1108,14 +1128,14 @@ software: owner: 'schoebel1' mpi: True - name: 'FFTW' - owner: 'mathprod' + owner: ['mathprod', 'strube1'] mpi: True base: True - name: 'SLEPc' owner: 'mathprod' mpi: True - name: 'ParMETIS' - owner: 'mathprod' + owner: 'schoebel1' mpi: True - name: 'Elemental' owner: 'mathprod' @@ -1136,7 +1156,7 @@ software: owner: 'ridley2' mpi: True - name: 'SIONlib' - owner: ['ridley2', 'feld1']' + owner: ['ridley2', 'feld1'] base: True mpi: True - name: 'PnetCDF' @@ -1258,3 +1278,6 @@ software: - name: 'Meep' owner: 'koh1' mpi: True + - name: 'UDUNITS' + owner: ['griessbach1', 'strube1'] + base: True diff --git a/bin/table_generator b/bin/table_generator index d88e5743e2447ecc1b0fc91a93be7cb73bac6bc8..b2f5c924a760be7dfdb4c372d854dd6df90da2e3 100755 --- a/bin/table_generator +++ b/bin/table_generator @@ -65,6 +65,17 @@ ignored_pkgs = [ 'Julia.CUDA', # Integrated in Julia 'Julia.MPI', # Integrated in Julia 'yaff', # Depends on an old version of h5py and it is rarely used, so let's drop it + # Ignoring in 2023 + 'motif', # Needed just for Grace + 'Grace', # Deprecating as it is almost abandonware + 'impi', # Installing just in JWC, so ignoring for everyone else + 'iimpi', # Not installing the toolchain anymore, reusing the MPICH stack provided with ParaStationMPI + 'intel', # Not installing the toolchain anymore, reusing the MPICH stack provided with ParaStationMPI + 'pkg-config', # Replaced by pkgconf + 'Mercurial', # Dropped + 'Subversion', # Dropped + 'Singularity-Tools', # Replaced by Apptainer-Tools + 'GtkSourceView', # Just used by meld, which has been dropped, so dropping this too ] def find_eb_files(path):