Select Git revision
-
lukas leufen authored
Merge branch 'lukas_issue331_test_tf2_on_local_system_and_hdfml' into 'lukas_issue337_bug_ci-pipeline-fails-for-docs' # Conflicts: # run.py
lukas leufen authoredMerge branch 'lukas_issue331_test_tf2_on_local_system_and_hdfml' into 'lukas_issue337_bug_ci-pipeline-fails-for-docs' # Conflicts: # run.py
generate_all_cards.py NaN GiB
#!/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'],
})
)