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/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'