diff --git a/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022a.eb b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..256f83853de38c18bdcda6ba4255b619884bb8bf --- /dev/null +++ b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022a.eb @@ -0,0 +1,46 @@ + +## +# Author: Eviden <bds-powerefficiency@eviden.com> +## +easyblock = 'ConfigureMake' + +name = 'bdpo-pmpi-wrapper' +version = '4.3.2' +toolchain = {'name': 'gpsmpi', 'version': '2022a'} +description = """This package provides the Power Efficiency Dynamic Power Optimizer PMPI Wrapper product. +""" + +local_lib_name = f"bdpopmpiwrapper-{toolchain['name']}-{toolchain['version']}.so" + +local_env_map = [ + f"MPICC=$EBROOTPSMPI/bin/mpicc", + 'MPICH=1', + f"DPO_PMPI_MPI_FLAVOR={toolchain['name']}", + f"DPO_PMPI_MPI_VERSION={toolchain['version']}", + 'INSTALL_OPT_DIR=%(installdir)s', + 'INSTALL_LIB_DIR=""', +] + +modextravars = { + 'BDPO_PMPIWRAPPER': f"%(installdir)s/{local_lib_name}" +} + +homepage = 'https://www.eviden.com' + +source_urls = ['file:///p/project/deepsea/wp2/sources/bdpo-pmpi-wrapper'] +sources = ['bdpo-pmpi-wrapper-%(version)s.tar.gz'] + +checksums = ['b3eceee09afad75c628c324081a2e443b1ef13dcb57a81b3db5a1099eb02e83b'] + +prebuildopts = ' '.join(local_env_map) +preinstallopts = ' '.join(local_env_map) + +# Hacky way to disable configure step (by returning true and comment all added things) +configure_cmd_prefix = '/bin/true # Disabling whats coming next:' + +sanity_check_paths = { + 'files': [local_lib_name], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022b.eb b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022b.eb new file mode 100644 index 0000000000000000000000000000000000000000..5bd3e13d3c48f7040e839e94fadeedd76f808a21 --- /dev/null +++ b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-gpsmpi-2022b.eb @@ -0,0 +1,46 @@ + +## +# Author: Eviden <bds-powerefficiency@eviden.com> +## +easyblock = 'ConfigureMake' + +name = 'bdpo-pmpi-wrapper' +version = '4.3.2' +toolchain = {'name': 'gpsmpi', 'version': '2022b'} +description = """This package provides the Power Efficiency Dynamic Power Optimizer PMPI Wrapper product. +""" + +local_lib_name = f"bdpopmpiwrapper-{toolchain['name']}-{toolchain['version']}.so" + +local_env_map = [ + f"MPICC=$EBROOTPSMPI/bin/mpicc", + 'MPICH=1', + f"DPO_PMPI_MPI_FLAVOR={toolchain['name']}", + f"DPO_PMPI_MPI_VERSION={toolchain['version']}", + 'INSTALL_OPT_DIR=%(installdir)s', + 'INSTALL_LIB_DIR=""', +] + +modextravars = { + 'BDPO_PMPIWRAPPER': f"%(installdir)s/{local_lib_name}" +} + +homepage = 'https://www.eviden.com' + +source_urls = ['file:///p/project/deepsea/wp2/sources/bdpo-pmpi-wrapper'] +sources = ['bdpo-pmpi-wrapper-%(version)s.tar.gz'] + +checksums = ['b3eceee09afad75c628c324081a2e443b1ef13dcb57a81b3db5a1099eb02e83b'] + +prebuildopts = ' '.join(local_env_map) +preinstallopts = ' '.join(local_env_map) + +# Hacky way to disable configure step (by returning true and comment all added things) +configure_cmd_prefix = '/bin/true # Disabling whats coming next:' + +sanity_check_paths = { + 'files': [local_lib_name], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-npsmpic-2022a.eb b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-npsmpic-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..4c0765d665ee50f0015c163a60d31f162ae3f1ac --- /dev/null +++ b/Golden_Repo/b/bdpo-pmpi-wrapper/bdpo-pmpi-wrapper-4.3.2-npsmpic-2022a.eb @@ -0,0 +1,46 @@ + +## +# Author: Eviden <bds-powerefficiency@eviden.com> +## +easyblock = 'ConfigureMake' + +name = 'bdpo-pmpi-wrapper' +version = '4.3.2' +toolchain = {'name': 'npsmpic', 'version': '2022a'} +description = """This package provides the Power Efficiency Dynamic Power Optimizer PMPI Wrapper product. +""" + +local_lib_name = f"bdpopmpiwrapper-{toolchain['name']}-{toolchain['version']}.so" + +local_env_map = [ + f"MPICC=$EBROOTPSMPI/bin/mpicc", + 'MPICH=1', + f"DPO_PMPI_MPI_FLAVOR={toolchain['name']}", + f"DPO_PMPI_MPI_VERSION={toolchain['version']}", + 'INSTALL_OPT_DIR=%(installdir)s', + 'INSTALL_LIB_DIR=""', +] + +modextravars = { + 'BDPO_PMPIWRAPPER': f"%(installdir)s/{local_lib_name}" +} + +homepage = 'https://www.eviden.com' + +source_urls = ['file:///p/project/deepsea/wp2/sources/bdpo-pmpi-wrapper'] +sources = ['bdpo-pmpi-wrapper-%(version)s.tar.gz'] + +checksums = ['b3eceee09afad75c628c324081a2e443b1ef13dcb57a81b3db5a1099eb02e83b'] + +prebuildopts = ' '.join(local_env_map) +preinstallopts = ' '.join(local_env_map) + +# Hacky way to disable configure step (by returning true and comment all added things) +configure_cmd_prefix = '/bin/true # Disabling whats coming next:' + +sanity_check_paths = { + 'files': [local_lib_name], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/b/bdpo-pmpi-wrapper/generate_all_cards.py b/Golden_Repo/b/bdpo-pmpi-wrapper/generate_all_cards.py new file mode 100755 index 0000000000000000000000000000000000000000..06b5420a62edf6e178ded237eb5bd86e28b1d805 --- /dev/null +++ b/Golden_Repo/b/bdpo-pmpi-wrapper/generate_all_cards.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +from string import Template + +# List of dict (version = version semver, sha256 = sha256 checksum of source file) +all_dpo_versions = [ + {'semver': '4.3.2', 'sha256':'b3eceee09afad75c628c324081a2e443b1ef13dcb57a81b3db5a1099eb02e83b'} +] + +# List of dict (name = MPI provider name, version = MPI provider version, +# mpicc = path to the MPI compiler binary) +all_mpi_provider = [ + {'name': 'gpsmpi', 'version': '2022a', 'mpicc': '$EBROOTPSMPI/bin/mpicc', 'mpich': '1'}, + {'name': 'gpsmpi', 'version': '2022b', 'mpicc': '$EBROOTPSMPI/bin/mpicc', 'mpich': '1'}, + {'name': 'npsmpic', 'version': '2022a', 'mpicc': '$EBROOTPSMPI/bin/mpicc', 'mpich': '1'}, +] + +eb_dpo_template = Template(''' +## +# Author: Eviden <bds-powerefficiency@eviden.com> +## +easyblock = 'ConfigureMake' + +name = 'bdpo-pmpi-wrapper' +version = '$product_version' +toolchain = {'name': '$toolchain_name', 'version': '$toolchain_version'} +description = """This package provides the Power Efficiency Dynamic Power Optimizer PMPI Wrapper product. +""" + +local_lib_name = f"bdpopmpiwrapper-{toolchain['name']}-{toolchain['version']}.so" + +local_env_map = [ + f"MPICC=$eb_mpicc_path", + 'MPICH=$is_mpich', + f"DPO_PMPI_MPI_FLAVOR={toolchain['name']}", + f"DPO_PMPI_MPI_VERSION={toolchain['version']}", + 'INSTALL_OPT_DIR=%(installdir)s', + 'INSTALL_LIB_DIR=""', +] + +modextravars = { + 'BDPO_PMPIWRAPPER': f"%(installdir)s/{local_lib_name}" +} + +homepage = 'https://www.eviden.com' + +source_urls = ['file:///p/project/deepsea/wp2/sources/bdpo-pmpi-wrapper'] +sources = ['bdpo-pmpi-wrapper-%(version)s.tar.gz'] + +checksums = ['$source_version_checksum'] + +prebuildopts = ' '.join(local_env_map) +preinstallopts = ' '.join(local_env_map) + +# Hacky way to disable configure step (by returning true and comment all added things) +configure_cmd_prefix = '/bin/true # Disabling whats coming next:' + +sanity_check_paths = { + 'files': [local_lib_name], + 'dirs': [], +} + +moduleclass = 'perf' +''') + +for version in all_dpo_versions: + for provider in all_mpi_provider: + with open(f"bdpo-pmpi-wrapper-{version['semver']}-{provider['name']}-{provider['version']}.eb", 'wt+') as f: + f.write( + eb_dpo_template.substitute({ + 'product_version': version['semver'], + 'toolchain_name': provider['name'], + 'toolchain_version': provider['version'], + 'eb_mpicc_path': provider['mpicc'], + 'source_version_checksum': version['sha256'], + 'is_mpich': provider['mpich'], + }) + ) diff --git a/Golden_Repo/d/dlb/dlb-3.3.1-gompi-2022a.eb b/Golden_Repo/d/dlb/dlb-3.3.1-gompi-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..2f86924aff497294da11b71dd763c536b8a8f3cc --- /dev/null +++ b/Golden_Repo/d/dlb/dlb-3.3.1-gompi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.3.1' + +description = """ +DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., +two levels of parallelism) by improving the load balance of the outer level of +parallelism (e.g., MPI) by dynamically redistributing the computational +resources at the inner level of parallelism (e.g., OpenMP). at run time. +""" +homepage = 'https://pm.bsc.es/dlb/' +docurls = ['https://pm.bsc.es/ftp/dlb/doc/user-guide/'] + +toolchain = {'name': 'gompi', 'version': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['1b245acad80b03eb83e815fd59dcfc598cfddd899de4504cf6a9572fe5359f40'] + +configopts = '--with-mpi' + +sanity_check_paths = { + 'files': [ + 'bin/dlb', + 'lib/libdlb.a', 'lib/libdlb.%s' % SHLIB_EXT, + 'lib64/libdlb.%s' % SHLIB_EXT + ], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/f/forma/forma-0.1.6-foss2022a.eb b/Golden_Repo/f/forma/forma-0.1.6-foss2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..a47abea4a98a799b9282d24c6d8252fccc8512e1 --- /dev/null +++ b/Golden_Repo/f/forma/forma-0.1.6-foss2022a.eb @@ -0,0 +1,34 @@ +# Copyright 2022 Computer Architecture and VLSI Systems (CARV) Laboratory +# SPDX-License-Identifier: BSD-3-Clause +easyblock = 'PythonPackage' + +name = 'forma' +version = '0.1.6' +homepage = 'https://github.com/CARV-ICS-FORTH/foRMA' +description = "Initial test for easybuild foRMA" + +toolchain = {'name': 'foss', 'version': '2022a'} + +local_forma_archive_filename = f"forma_archive_{version}.tar.gz" +sources = [{ + 'filename': local_forma_archive_filename, + 'git_config': { + 'url': 'https://gitlab.jsc.fz-juelich.de/deep-sea/wp3/software', + 'repo_name': 'forma', + 'recursive': True, + 'tag': 'v' + version, + 'keep_git_dir': True + }, +}] +checksums = [None] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip_for_deps = True +use_pip = True + +options = {'modulename': 'forma'} + +moduleclass = 'tools' diff --git a/Golden_Repo/g/gpsmpi/gpsmpi-2022b.eb b/Golden_Repo/g/gpsmpi/gpsmpi-2022b.eb new file mode 100644 index 0000000000000000000000000000000000000000..a62c9426283d03a547d8960d9551f770bd9f60c4 --- /dev/null +++ b/Golden_Repo/g/gpsmpi/gpsmpi-2022b.eb @@ -0,0 +1,19 @@ +easyblock = 'Toolchain' + +name = 'gpsmpi' +version = '2022b' + +homepage = '(none)' +description = 'GCC and GFortran based compiler toolchain, including Parastation MPICH2 for MPI support.' + + +toolchain = SYSTEM + +local_compiler = ('GCC', '11.3.0') + +dependencies = [ + local_compiler, + ('psmpi', '5.8.1-1', '', local_compiler), +] + +moduleclass = 'toolchain' diff --git a/Golden_Repo/l/llvm-ompss/llvm-ompss-2023.11-GCC-11.3.0.eb b/Golden_Repo/l/llvm-ompss/llvm-ompss-2023.11-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..9aa6247c2a7cbbbf3608602f4e8557a90687e58f --- /dev/null +++ b/Golden_Repo/l/llvm-ompss/llvm-ompss-2023.11-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'CMakeNinja' + +name = 'llvm-ompss' +version = '2023.11' + +homepage = 'https://pm.bsc.es/ompss-2' +description = 'LLVM Compiler for OmpSs-2 data-flow programming model' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [{ + 'filename': 'llvm.tar.gz', + 'git_config': { + 'url': 'https://github.com/bsc-pm', + 'repo_name': 'llvm', + 'tag': 'github-release-2023.11', + 'clone_into': 'llvm' + } +}] + +checksums = [ + '8953fcf8b529333b922e3ff137601131f6f927e7a8c57f7668edbf1940b90941' +] + +builddependencies = [('CMake', '3.23.1'), ('Ninja', '1.10.2')] +dependencies = [('nodes', '1.1.0'), ('nanos6', '4.0.0'), ('ncurses', '6.3')] + +configopts = '-DCMAKE_BUILD_TYPE=Release ' +configopts += '-DLLVM_PARALLEL_LINK_JOBS=1 ' +configopts += '-DCLANG_DEFAULT_NANOS6_HOME=$EBROOTNANOS6 ' +configopts += '-DCLANG_DEFAULT_NODES_HOME=$EBROOTNODES ' +configopts += '-DLLVM_ENABLE_PROJECTS=clang ' +configopts += '-DCLANG_DEFAULT_PIE_ON_LINUX=OFF ' +configopts += '-DLLVM_INSTALL_UTILS=ON ' +configopts += '-DLLVM_INCLUDE_BENCHMARKS=OFF' +srcdir = 'llvm' +moduleclass = 'compiler' diff --git a/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb b/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb new file mode 100644 index 0000000000000000000000000000000000000000..eb6cf6ff140548c2f4290bf8403d5167f9f304d0 --- /dev/null +++ b/Golden_Repo/m/mcxxcluster/mcxxcluster-1.0-gpsmpi-2022a-mt.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'mcxxcluster' +version = '1.0' +local_filename_version = '1.0' + +homepage = 'https://github.com/bsc-pm/ompss-2-cluster-releases.git' +description = "OmpSs-2@Cluster: OmpSs-2 with task offloading" + +toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'} + +sources = [{ + 'filename': 'mcxx.tar.gz', + 'git_config': { + 'url': 'https://github.com/ipiedrahiv', + 'repo_name': 'mcxx', + 'tag': '1.0-ci' + }, +}] +checksums = [None] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1') +] + +dependencies = [ + ('nanoscluster', '1.0'), + ('SQLite', '3.38.3') +] + +preconfigopts = "autoreconf -vif && " + +configopts = "--enable-ompss-2 --with-nanos6=$NANOS6_HOME" + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +sanity_check_paths = { + 'files': ['bin/mcc', 'bin/mcxx', 'bin/mf95', 'bin/mfc', + 'lib/libmcxx.so', 'lib/mcxx/libtlnanos6-lowering.so'], + 'dirs': [], +} + +sanity_check_commands = [ + 'mcc 2>&1 | grep "mcc: you must specify an input file"', +] + +moduleclass = 'devel' diff --git a/Golden_Repo/n/nanos6/nanos6-4.0.0-GCC-11.3.0.eb b/Golden_Repo/n/nanos6/nanos6-4.0.0-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..3309ce456a1e38f6dc86b419cc040660aba7bbd9 --- /dev/null +++ b/Golden_Repo/n/nanos6/nanos6-4.0.0-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +# EasyConfig for OmpSs-2/git +easyblock = "ConfigureMake" +name = "nanos6" +version = "4.0.0" + +homepage = "https://pm.bsc.es/ompss-2" +description = "Nanos6 Runtime for OmpSs-2 data-flow programming model" + +toolchain = {"name": "GCC", "version": "11.3.0"} + +sources = [ + { + "filename": "nanos6.tar.gz", + "git_config": { + "url": "https://github.com/bsc-pm", + "repo_name": "nanos6", + "tag": "version-4.0", + "clone_into": "nanos6", + }, + } +] + +checksums = [ + "54b6fb03c36c6b1da1a73aad1b9cc8228a7fea51aea3ee5d9f1d7b1eead955e5" +] + +dependencies = [ + ("Boost", "1.79.0"), + ("hwloc", "2.7.1"), + ("CUDA", "11.7.0", "", SYSTEM), + ("ovni", "1.4.1"), +] +builddependencies = [("libtool", "2.4.7")] + +preconfigopts = "./autogen.sh && " +configopts = "--with-jemalloc=embedded " +configopts += "--with-boost=$EBROOTBOOST " +configopts += "--with-libnuma=$EBROOTNUMACTL " +configopts += "--disable-stats-instrumentation " +configopts += "--disable-verbose-instrumentation " +configopts += "--disable-lint-instrumentation " +configopts += "--disable-graph-instrumentation " +configopts += "--without-papi " +configopts += "--with-cuda=$EBROOTCUDA " +configopts += "--with-ovni=$EBROOTOVNI" + +modextravars = {"NANOS6_HOME": "%(installdir)s"} + +buildopts = "" +moduleclass = 'devel' diff --git a/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb b/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb new file mode 100644 index 0000000000000000000000000000000000000000..f1dc45ccd9ac40aa8b3e8aba6061b6cfc6ca7422 --- /dev/null +++ b/Golden_Repo/n/nanoscluster/nanoscluster-1.0-gpsmpi-2022a-mt.eb @@ -0,0 +1,49 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'ConfigureMake' +name = 'nanoscluster' +version = '1.0' +local_filename_version = '1.0' + +homepage = 'https://github.com/bsc-pm/nanos6-cluster' +description = 'Nanos6 Runtime for OmpSs2@cluster' + +toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'} + +sources = [{ + 'filename': 'nanos6.tar.gz', + 'git_config': { + 'url': 'https://github.com/ipiedrahiv', + 'repo_name': 'nanos6-cluster', + 'tag': '1.0-ci', + } +}] +checksums = [None] + +dependencies = [('Boost', '1.79.0'), + ('hwloc', '2.7.1'), + ('numactl', '2.0.15')] + +builddependencies = [('Autotools', '20220317'), + ('pkgconf', '1.8.0')] + +preconfigopts = "autoreconf -vif && " + +configopts = "--enable-cluster --disable-ctf-instrumentation --disable-graph-instrumentation " +configopts += "--disable-lint-instrumentation --disable-verbose-instrumentation" + +modextravars = {'NANOS6_HOME': '%(installdir)s'} + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +sanity_check_paths = { + 'files': ['bin/nanos6-info', 'include/nanos6.h', + 'lib/libnanos6-optimized-regions.so', + 'lib/libnanos6-debug-regions.so'], + 'dirs': ['include/nanos6'], +} + +sanity_check_commands = [ + 'nanos6-info | grep "Nanos6 version 2.5.1"', +] + +moduleclass = 'devel' diff --git a/Golden_Repo/n/nodes/nodes-1.1.0-GCC-11.3.0.eb b/Golden_Repo/n/nodes/nodes-1.1.0-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..d5d28480975cbfdf1a6ad5be344e555c4f11849b --- /dev/null +++ b/Golden_Repo/n/nodes/nodes-1.1.0-GCC-11.3.0.eb @@ -0,0 +1,44 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'ConfigureMake' +name = 'nodes' +version = '1.1.0' + +homepage = 'https://pm.bsc.es/ompss-2' +description = 'NODES Runtime for OmpSs-2 data-flow programming model' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'filename': 'nodes.tar.gz', + 'git_config': { + 'url': 'https://github.com/bsc-pm', + 'repo_name': 'nodes', + 'tag': 'version-1.1', + 'clone_into': 'nodes', + }, + } +] + +checksums = [ + "4d5bbbe1f09bccc34f1e543e8d9c81fc6a3c13838ffd61fb4ec189983a267ac7" +] + +dependencies = [ + ('Boost', '1.79.0'), + ('hwloc', '2.7.1'), + ('nos-v', '2.1.1'), + ('ovni', '1.4.1'), +] +builddependencies = [('libtool', '2.4.7')] + +preconfigopts = "autoreconf -fiv && " +configopts = "--with-boost=$EBROOTBOOST " +configopts += "--with-libnuma=$EBROOTNUMACTL " +configopts += "--with-nosv=$EBROOTNOSMINV " +configopts += "--with-ovni=$EBROOTOVNI" + +sanity_check_paths = {'files': ['lib/libnodes.%s' % SHLIB_EXT], 'dirs': ['include']} + +modextravars = {'NODES_HOME': '%(installdir)s'} +moduleclass = 'devel' diff --git a/Golden_Repo/n/nos-v/nos-v-2.1.1-GCC-11.3.0.eb b/Golden_Repo/n/nos-v/nos-v-2.1.1-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ab8d4652e8a6b6c35c4eae2ff38c5b56442fae46 --- /dev/null +++ b/Golden_Repo/n/nos-v/nos-v-2.1.1-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'ConfigureMake' +name = 'nos-v' +version = '2.1.1' + +homepage = 'https://pm.bsc.es/ompss-2' +description = 'nOS-V system-wide tasking library' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'filename': 'nos-v.tar.gz', + 'git_config': { + 'url': 'https://github.com/bsc-pm', + 'repo_name': 'nos-v', + 'tag': '2.1.1', + 'clone_into': 'nos-v', + }, + } +] + +checksums = [ + "8569aba411928a4f49c024c451820a95d72a74baea4d105e1649c27c4a269432" +] + +dependencies = [('ovni', '1.4.1'), ('numactl', '2.0.15')] +builddependencies = [('libtool', '2.4.7')] + +preconfigopts = "autoreconf -fiv && " +configopts = "--with-ovni=$EBROOTOVNI" + +sanity_check_paths = { + 'files': ['lib/libnosv.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} +moduleclass = 'devel' diff --git a/Golden_Repo/o/OmpSs-2/OmpSs-2-2023.11-GCC-11.3.0.eb b/Golden_Repo/o/OmpSs-2/OmpSs-2-2023.11-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..6e082fb6a8cfae9927d2aa154f3f5f4a68590630 --- /dev/null +++ b/Golden_Repo/o/OmpSs-2/OmpSs-2-2023.11-GCC-11.3.0.eb @@ -0,0 +1,20 @@ +# EasyConfig for OmpSs-2 +easyblock = 'Bundle' +name = 'OmpSs-2' +version = '2023.11' + +homepage = 'https://pm.bsc.es/ompss-2' +description = 'OmpSs-2 Data-flow Programming Model' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('llvm-ompss', '2023.11'), + ('nos-v', '2.1.1'), + ('nanos6', '4.0.0'), + ('nodes', '1.1.0'), + ('tacuda', '2.0.0'), + ('ovni', '1.4.1') +] + +moduleclass = 'devel' diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-XHC-5.0.0rc7-1.2-GCC-11.3.0.eb b/Golden_Repo/o/OpenMPI/OpenMPI-XHC-5.0.0rc7-1.2-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..1a0d96fe2b09892a3f56c2c851829b4a9ca9d65d --- /dev/null +++ b/Golden_Repo/o/OpenMPI/OpenMPI-XHC-5.0.0rc7-1.2-GCC-11.3.0.eb @@ -0,0 +1,123 @@ +# If you get an oversubscription error during testing, set +# PRTE_MCA_rmaps_default_mapping_policy=:OVERSUBSCRIBE. +# (different from OpenMPI v4's OMPI_MCA_rmaps_base_oversubscribe=1) +# TODO: How to set an env var in an easyconfig? + +easyblock = 'ConfigureMake' + +# ------------------------------ + +local_xhc_version = '1.2' +local_xhc_sources = '/p/project/deepsea/wp5/xhc/source/xhc-v' + local_xhc_version + '.tar.gz' +local_xhc_checksums = 'e184e86aa90a092f53c878fdcbfe8699a0b125bdca236b434dbdbae6253f02e8' + +local_ompi_version = '5.0.0rc7' + +# ------------------------------ + +name = 'OpenMPI-XHC' +version = '%s-%s' % (local_ompi_version, local_xhc_version) + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +sources = [ + # Using git clone instead of the release URL; git submodules will be needed + { + 'filename': 'ompi-%s.tar.gz' % local_ompi_version, + 'git_config': { + 'url': 'https://github.com/open-mpi', + 'repo_name': 'ompi', + 'tag': 'v%s' % local_ompi_version, + 'keep_git_dir': True, + }, + }, + + { + 'filename': local_xhc_sources, + 'extract_cmd': 'tar -xzvf %s && mv xhc-* ./ompi/ompi/mca/coll/xhc' + } +] + +patches = ['OpenMPI-XHC-fixes.patch'] + +checksums = [ + None, + local_xhc_checksums, + '7b3e9454aa7ac28569a00f74e543c79ded0305c68502238efb6f42a83ce53a8e' +] + +osdependencies = [ + # needed for --with-verbs + ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkg-config', '0.29.2'), + ('Perl', '5.34.1'), + ('Pandoc', '2.19.2', '', SYSTEM), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), + # ('hwloc', '2.5.0'), # internal + ('UCX', 'default'), + ('CUDA', '11.7', '', SYSTEM), + # ('libevent', '2.1.12'), # internal + # ('PMIx', '4.1.0'), # internal +] + +# Developer checkout is necessary for XHC, and these are necessary for developer checkout +preconfigopts = 'git submodule update --init --recursive && ' +preconfigopts += '(cd 3rd-party/openpmix && git am ../../pmix_fix_flex.patch) && ' +preconfigopts += './autogen.pl && ' + +configopts = '--enable-shared ' +configopts += '--with-hwloc=internal ' +configopts += '--with-ucx=$EBROOTUCX --with-ucx-libdir=$EBROOTUCX/lib ' +# OMPI has trouble with ambiguity between lib and lib64 when detecting UCX's libdir +configopts += '--with-libevent=internal ' +configopts += '--with-pmix=internal ' +configopts += '--with-slurm ' +configopts += '--without-psm2 ' +configopts += '--disable-oshmem ' +configopts += '--with-cuda=$EBROOTCUDA ' +configopts += '--with-xpmem=/p/project/deepsea/wp5/xpmem ' + +# libportals is available on deepv but not on cluster nodes. +configopts += '--without-portals4 ' + +# ------------------------------- + +# No IME or GPFS in DEEP +# configopts += '--with-ime=/opt/ddn/ime ' +# configopts += '--with-gpfs ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +# ------------------------------- + +# Trigger autofs mount of these filesystems, so that Open MPI's imperfect +# opal_path_nfs test won't fail (https://github.com/open-mpi/ompi/issues/10152) +# pretestcmds/postbuildcmds = ['stat /direct/Software /p/{arch,usersoftware,fastdata}'] +skipsteps = ['test'] # not sure how to do the above though! + +local_libs = ["mpi_mpifh", "mpi", "open-pal"] +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] + + ["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", + "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/o/OpenMPI/OpenMPI-XHC-fixes.patch b/Golden_Repo/o/OpenMPI/OpenMPI-XHC-fixes.patch new file mode 100644 index 0000000000000000000000000000000000000000..f4eacab7aa7ff559749e6e257690fa21d7759426 --- /dev/null +++ b/Golden_Repo/o/OpenMPI/OpenMPI-XHC-fixes.patch @@ -0,0 +1,283 @@ +From 848096fcec8956eaf6982ef4021e0ede72e6186e Mon Sep 17 00:00:00 2001 +From: Joseph Schuchart <schuchart@icl.utk.edu> +Date: Wed, 16 Mar 2022 09:33:21 -0400 +Subject: [PATCH 1/5] smsc/xpmem: Fix bound alignment + +The upper bound of the mapped region must include the last byte of +the range and not reach past the aligned range. + +Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu> +--- + opal/mca/smsc/xpmem/smsc_xpmem_module.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/opal/mca/smsc/xpmem/smsc_xpmem_module.c b/opal/mca/smsc/xpmem/smsc_xpmem_module.c +index d2954c1e31..80a0729649 100644 +--- a/opal/mca/smsc/xpmem/smsc_xpmem_module.c ++++ b/opal/mca/smsc/xpmem/smsc_xpmem_module.c +@@ -116,7 +116,7 @@ void *mca_smsc_xpmem_map_peer_region(mca_smsc_endpoint_t *endpoint, uint64_t fla + int rc; + + base = OPAL_DOWN_ALIGN((uintptr_t) remote_ptr, attach_align, uintptr_t); +- bound = OPAL_ALIGN((uintptr_t) remote_ptr + size - 1, attach_align, uintptr_t) + 1; ++ bound = OPAL_ALIGN((uintptr_t) remote_ptr + size, attach_align, uintptr_t); + if (OPAL_UNLIKELY(bound > xpmem_endpoint->address_max)) { + bound = xpmem_endpoint->address_max; + } +-- +2.31.1 + + +From 61e00ee395f66963c069d3e28bea788d57360ade Mon Sep 17 00:00:00 2001 +From: Joseph Schuchart <schuchart@icl.utk.edu> +Date: Wed, 16 Mar 2022 09:36:37 -0400 +Subject: [PATCH 2/5] smsc/xpmem: retry with page upper bound if aligned range + cannot be mapped + +The aligned range computed in mca_smsc_xpmem_map_peer_region may +reach past the end of the stack, which may cause the mapping to fail. +Retrying with an actual page as upper bound has a better chance to succeed. + +Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu> +--- + opal/mca/smsc/xpmem/smsc_xpmem_module.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/opal/mca/smsc/xpmem/smsc_xpmem_module.c b/opal/mca/smsc/xpmem/smsc_xpmem_module.c +index 80a0729649..6a3444a35d 100644 +--- a/opal/mca/smsc/xpmem/smsc_xpmem_module.c ++++ b/opal/mca/smsc/xpmem/smsc_xpmem_module.c +@@ -23,6 +23,7 @@ + #include "opal/mca/smsc/base/base.h" + #include "opal/mca/smsc/xpmem/smsc_xpmem_internal.h" + #include "opal/util/minmax.h" ++#include "opal/util/sys_limits.h" + + OBJ_CLASS_INSTANCE(mca_smsc_xpmem_endpoint_t, opal_object_t, NULL, NULL); + +@@ -157,8 +158,14 @@ void *mca_smsc_xpmem_map_peer_region(mca_smsc_endpoint_t *endpoint, uint64_t fla + + reg->rcache_context = xpmem_attach(xpmem_addr, bound - base, NULL); + if (OPAL_UNLIKELY((void *) -1 == reg->rcache_context)) { +- OBJ_RELEASE(reg); +- return NULL; ++ /* retry with the page as upper bound */ ++ bound = OPAL_ALIGN((uintptr_t) remote_ptr + size, opal_getpagesize(), uintptr_t); ++ reg->bound = (unsigned char *) bound; ++ reg->rcache_context = xpmem_attach(xpmem_addr, bound - base, NULL); ++ if (OPAL_UNLIKELY((void *) -1 == reg->rcache_context)) { ++ OBJ_RELEASE(reg); ++ return NULL; ++ } + } + + opal_memchecker_base_mem_defined(reg->rcache_context, bound - base); +@@ -307,5 +314,5 @@ mca_smsc_xpmem_module_t mca_smsc_xpmem_module = { + .copy_from = mca_smsc_xpmem_copy_from, + .map_peer_region = mca_smsc_xpmem_map_peer_region, + .unmap_peer_region = mca_smsc_xpmem_unmap_peer_region, +- }, ++ }, + }; +-- +2.31.1 + + +From 553bf8adf30d28da53b7d7462468e3ba4e0146e3 Mon Sep 17 00:00:00 2001 +From: cc-riscv64 <cc-riscv64> +Date: Thu, 28 Apr 2022 16:42:18 +0000 +Subject: [PATCH 3/5] Fix mpi_comm_dup_with_info + +--- + ompi/communicator/comm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ompi/communicator/comm.c b/ompi/communicator/comm.c +index 8f9c95ade1..98ed989f28 100644 +--- a/ompi/communicator/comm.c ++++ b/ompi/communicator/comm.c +@@ -963,6 +963,7 @@ int ompi_comm_split_type (ompi_communicator_t *comm, int split_type, int key, + ompi_comm_assert_subscribe (newcomp, OMPI_COMM_ASSERT_LAZY_BARRIER); + ompi_comm_assert_subscribe (newcomp, OMPI_COMM_ASSERT_ACTIVE_POLL); + if (info) { ++ opal_info_dup(info, &newcomp->super.s_info); + opal_infosubscribe_change_info(&newcomp->super, info); + } + +@@ -1068,6 +1069,7 @@ int ompi_comm_dup_with_info ( ompi_communicator_t * comm, opal_info_t *info, omp + ompi_comm_assert_subscribe (newcomp, OMPI_COMM_ASSERT_LAZY_BARRIER); + ompi_comm_assert_subscribe (newcomp, OMPI_COMM_ASSERT_ACTIVE_POLL); + if (info) { ++ opal_info_dup(info, &newcomp->super.s_info); + opal_infosubscribe_change_info(&newcomp->super, info); + } + +-- +2.31.1 + + +From d5ca5c9baf308fc855563edf0b61d07eae8e3420 Mon Sep 17 00:00:00 2001 +From: George Katevenis <gkatev@ics.forth.gr> +Date: Thu, 6 Oct 2022 14:35:52 +0300 +Subject: [PATCH 4/5] Initialize opal/smsc outside of btl/sm, to enable its use + without it + +Signed-off-by: George Katevenis <gkatev@ics.forth.gr> +--- + ompi/instance/instance.c | 4 ++++ + opal/mca/btl/sm/btl_sm_component.c | 9 ++++----- + 2 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/ompi/instance/instance.c b/ompi/instance/instance.c +index 03dad6faeb..a713a5617d 100644 +--- a/ompi/instance/instance.c ++++ b/ompi/instance/instance.c +@@ -480,6 +480,10 @@ static int ompi_mpi_instance_init_common (void) + + /* Select which MPI components to use */ + ++ if (OPAL_SUCCESS != (ret = mca_smsc_base_select())) { ++ return ompi_instance_print_error ("mca_smsc_base_select() failed", ret); ++ } ++ + if (OMPI_SUCCESS != (ret = mca_pml_base_select (OPAL_ENABLE_PROGRESS_THREADS, ompi_mpi_thread_multiple))) { + return ompi_instance_print_error ("mca_pml_base_select() failed", ret); + } +diff --git a/opal/mca/btl/sm/btl_sm_component.c b/opal/mca/btl/sm/btl_sm_component.c +index d3b6bfb69d..de865f9fb4 100644 +--- a/opal/mca/btl/sm/btl_sm_component.c ++++ b/opal/mca/btl/sm/btl_sm_component.c +@@ -40,7 +40,6 @@ + #include "opal/mca/btl/sm/btl_sm_fbox.h" + #include "opal/mca/btl/sm/btl_sm_fifo.h" + #include "opal/mca/btl/sm/btl_sm_frag.h" +-#include "opal/mca/smsc/base/base.h" + #include "opal/mca/smsc/smsc.h" + + #ifdef HAVE_SYS_STAT_H +@@ -332,8 +331,8 @@ mca_btl_sm_component_init(int *num_btls, bool enable_progress_threads, bool enab + /* no fast boxes allocated initially */ + component->num_fbox_in_endpoints = 0; + +- rc = mca_smsc_base_select(); +- if (OPAL_SUCCESS == rc) { ++ bool have_smsc = (NULL != mca_smsc); ++ if (have_smsc) { + mca_btl_sm.super.btl_flags |= MCA_BTL_FLAGS_RDMA; + mca_btl_sm.super.btl_get = mca_btl_sm_get; + mca_btl_sm.super.btl_put = mca_btl_sm_put; +@@ -355,11 +354,11 @@ mca_btl_sm_component_init(int *num_btls, bool enable_progress_threads, bool enab + } else { + BTL_ERROR(("single-copy component requires registration but could not provide the " + "registration handle size")); +- rc = (int) handle_size; ++ have_smsc = false; + } + } + } +- if (OPAL_SUCCESS != rc) { ++ if (!have_smsc) { + mca_btl_sm.super.btl_flags &= ~MCA_BTL_FLAGS_RDMA; + mca_btl_sm.super.btl_get = NULL; + mca_btl_sm.super.btl_put = NULL; +-- +2.31.1 + + +From 77081cff10f5a3b04052f34e6e5c89fb64384f70 Mon Sep 17 00:00:00 2001 +From: George Katevenis <gkatev@ics.forth.gr> +Date: Fri, 19 Jan 2024 13:58:51 +0200 +Subject: [PATCH 5/5] Add patch to fix flex in internal openpmix (openpmix/#2606) + +--- + pmix_fix_flex.patch | 78 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 78 insertions(+) + create mode 100644 pmix_fix_flex.patch + +diff --git a/pmix_fix_flex.patch b/pmix_fix_flex.patch +new file mode 100644 +index 0000000000..ded91bf4c1 +--- /dev/null ++++ b/pmix_fix_flex.patch +@@ -0,0 +1,78 @@ ++From 1286709db150ea2540f8a1d20f286a858c7a07df Mon Sep 17 00:00:00 2001 ++From: Ralph Castain <rhc@pmix.org> ++Date: Tue, 24 May 2022 19:05:00 -0700 ++Subject: [PATCH] Require flex only when keyval_lex.c is not provided ++ ++We currently require flex whenever we are in a Git clone, but that ++really isn't the requirement. We need flex whenever the flex output ++files are not present - otherwise, you can build just fine. So open ++things up a bit by tying the flex requirement to the actual one ++(i.e., that the flex output file exist). ++ ++Signed-off-by: Ralph Castain <rhc@pmix.org> ++--- ++ config/pmix.m4 | 19 ------------------- ++ configure.ac | 20 +++++++++++++++++++- ++ 2 files changed, 19 insertions(+), 20 deletions(-) ++ ++diff --git a/config/pmix.m4 b/config/pmix.m4 ++index 9c5f83df30..c870d90a9c 100644 ++--- a/config/pmix.m4 +++++ b/config/pmix.m4 ++@@ -1026,25 +1026,6 @@ AC_DEFUN([PMIX_DEFINE_ARGS],[ ++ AC_DEFINE_UNQUOTED(PMIX_ENABLE_DLOPEN_SUPPORT, $PMIX_ENABLE_DLOPEN_SUPPORT, ++ [Whether we want to enable dlopen support]) ++ ++-# ++-# Is this a developer copy? ++-# ++- ++-if test -e $PMIX_TOP_SRCDIR/.git; then ++- PMIX_DEVEL=1 ++- # check for Flex ++- AC_PROG_LEX(yywrap) ++- if test "x$LEX" != xflex; then ++- AC_MSG_WARN([PMIx requires Flex to build from non-tarball sources,]) ++- AC_MSG_WARN([but Flex was not found. Please install Flex into]) ++- AC_MSG_WARN([your path and try again]) ++- AC_MSG_ERROR([Cannot continue]) ++- fi ++-else ++- PMIX_DEVEL=0 ++-fi ++- ++- ++ # ++ # Developer picky compiler options ++ # ++diff --git a/configure.ac b/configure.ac ++index e0f207a2d0..7d3fe1de4a 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -209,7 +209,25 @@ PMIX_SETUP_WRAPPER_INIT ++ # This did not exist pre AM 1.11.x (where x is somewhere >0 and <3), ++ # but it is necessary in AM 1.12.x. ++ m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) ++-AC_PROG_LEX(yywrap) +++ +++# +++# Is this a developer copy? +++# +++ +++if test -e $PMIX_TOP_SRCDIR/.git; then +++ PMIX_DEVEL=1 +++else +++ PMIX_DEVEL=0 +++fi +++# check for Flex +++AC_PROG_LEX(noyywrap) +++if test "x$LEX" != xflex && test ! -e $PMIX_TOP_SRCDIR/util/keyval/keyval_lex.c; then +++ AC_MSG_WARN([PMIx requires Flex to build from sources that were not]) +++ AC_MSG_WARN([fully pre-processed (e.g., an official release tarball),]) +++ AC_MSG_WARN([but Flex was not found. Please install Flex into]) +++ AC_MSG_WARN([your path and try again]) +++ AC_MSG_ERROR([Cannot continue]) +++fi ++ ++ ############################################################################ ++ # Configuration options +-- +2.43.0 + diff --git a/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a-mt.eb b/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a-mt.eb new file mode 100644 index 0000000000000000000000000000000000000000..6e6468a84a243ceb14b1cfbedfe3857a278b5292 --- /dev/null +++ b/Golden_Repo/o/ompss2cluster/ompss2cluster-2023.11-gpsmpi-2022a-mt.eb @@ -0,0 +1,16 @@ +# EasyConfig for OmpSs-2 +easyblock = 'Bundle' +name = 'ompss2cluster' +version = '2023.11' + +homepage = 'https://github.com/bsc-pm/nanos6-cluster' +description = 'OmpSs2@Cluster' + +toolchain = {'name': 'gpsmpi', 'version': '2022a-mt'} + +dependencies = [ + ('nanoscluster', '1.0'), + ('mcxxcluster', '1.0') +] + +moduleclass = 'devel' diff --git a/Golden_Repo/o/ovni/ovni-1.4.1-GCC-11.3.0.eb b/Golden_Repo/o/ovni/ovni-1.4.1-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2eadde6a451f8175c37254f81c624f1e889b9ada --- /dev/null +++ b/Golden_Repo/o/ovni/ovni-1.4.1-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'CMakeNinja' +name = 'ovni' +version = '1.4.1' + +homepage = 'https://ovni.readthedocs.io' +description = 'OVNI: Obtuse but Versatile Nanoscale Instrumentation' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'filename': 'ovni.tar.gz', + 'git_config': { + 'url': 'https://github.com/bsc-pm', + 'repo_name': 'ovni', + 'tag': '1.4.1', + 'clone_into': 'ovni', + }, + } +] + +checksums = [ + "a508c54c2b2b19e4b94ca5a138241c74b8ce3ee864ab95a0aac4e74ad192ecbe" +] + +builddependencies = [('CMake', '3.23.1'), ('Ninja', '1.10.2')] + +configopts = "-DUSE_MPI=0" +moduleclass = 'devel' diff --git a/Golden_Repo/t/tacuda/tacuda-2.0.0-GCC-11.3.0.eb b/Golden_Repo/t/tacuda/tacuda-2.0.0-GCC-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..4676b44509b3a81b61deb45dea752a0a85d59397 --- /dev/null +++ b/Golden_Repo/t/tacuda/tacuda-2.0.0-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# EasyConfig for OmpSs-2/git +easyblock = 'ConfigureMake' +name = 'tacuda' +version = '2.0.0' + +homepage = 'https://pm.bsc.es/ompss-2' +description = 'Task-Aware CUDA' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'filename': 'tacuda.tar.gz', + 'git_config': { + 'url': 'https://github.com/bsc-pm', + 'repo_name': 'tacuda', + 'tag': '2.0.0', + 'clone_into': 'tacuda', + }, + } +] + +checksums = [ + "b34a6601be8834247f4548c36490fd502cb0f84d28f01f73b5f408884d3ecba1" +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] +builddependencies = [('libtool', '2.4.7'), ('Boost', '1.79.0')] + +preconfigopts = "./bootstrap && " +configopts = "--with-cuda=$EBROOTCUDA --with-boost=$EBROOTBOOST" + +sanity_check_paths = {'files': ['lib/libtacuda.%s' % SHLIB_EXT], 'dirs': ['include']} + +modextravars = {'TACUDA_HOME': '%(installdir)s'} + +moduleclass = 'devel'