Skip to content
Snippets Groups Projects
Commit 0ec567f5 authored by Tobias Melson's avatar Tobias Melson
Browse files

Added cuda_12_3 repo for nvhpcsdk_24 with special suffix

parent 25d537b9
No related branches found
No related tags found
No related merge requests found
Pipeline #208093 passed
...@@ -283,20 +283,20 @@ def repo_tags(reponame, distribution=None): ...@@ -283,20 +283,20 @@ def repo_tags(reponame, distribution=None):
compiler_cuda = { compiler_cuda = {
"cuda_8_0": "gcc_5", "cuda_8_0": ["gcc_5"],
"cuda_9_1": "gcc_6_3_0", "cuda_9_1": ["gcc_6_3_0"],
"cuda_9_2": "gcc_6", "cuda_9_2": ["gcc_6"],
"cuda_10_0": "gcc_6", "cuda_10_0": ["gcc_6"],
"cuda_10_1": "gcc_8", "cuda_10_1": ["gcc_8"],
"cuda_10_2": "gcc_8", "cuda_10_2": ["gcc_8"],
"cuda_11_0": "gcc_9", "cuda_11_0": ["gcc_9"],
"cuda_11_2": "gcc_10", "cuda_11_2": ["gcc_10"],
"cuda_11_4": "gcc_11", "cuda_11_4": ["gcc_11"],
"cuda_11_6": "gcc_11", "cuda_11_6": ["gcc_11"],
"cuda_11_8_nvhpcsdk": "nvhpcsdk_23", "cuda_11_8_nvhpcsdk": ["nvhpcsdk_23"],
"cuda_12_3_nvhpcsdk": "nvhpcsdk_23", "cuda_12_3_nvhpcsdk": ["nvhpcsdk_23", "nvhpcsdk_24"],
"cuda_12_1": "gcc_12", "cuda_12_1": ["gcc_12"],
"cuda_12_2": "gcc_12", "cuda_12_2": ["gcc_12"],
} }
...@@ -309,7 +309,7 @@ def valid_cuda(cuda, compiler): ...@@ -309,7 +309,7 @@ def valid_cuda(cuda, compiler):
Take care to keep this in sync with the file 'macros.obs_cluster' of Take care to keep this in sync with the file 'macros.obs_cluster' of
the package software:dist / mpcdf_cluster_macros the package software:dist / mpcdf_cluster_macros
""" """
return compiler_cuda.get(cuda, None) == compiler return compiler in compiler_cuda.get(cuda, None)
project_meta_caches = {} project_meta_caches = {}
...@@ -716,6 +716,12 @@ def openmpi_flavor_kind(flavor): ...@@ -716,6 +716,12 @@ def openmpi_flavor_kind(flavor):
return re.sub("_[0-9_-]+$", "", flavor) return re.sub("_[0-9_-]+$", "", flavor)
def cuda_from_compiler(cuda, compiler):
if compiler == "nvhpcsdk_24":
return cuda + "_24"
return cuda
def stringdiff(s1, label1, s2, label2): def stringdiff(s1, label1, s2, label2):
import os import os
from subprocess import call from subprocess import call
...@@ -949,8 +955,8 @@ Macros: ...@@ -949,8 +955,8 @@ Macros:
for cuda in cudas: for cuda in cudas:
for compiler in filter(partial(valid_cuda, cuda), compilers + pgis): for compiler in filter(partial(valid_cuda, cuda), compilers + pgis):
repo(cuda + "_" + compiler, ((project, compiler),), cuda=True, cuda_repository=cuda, repo(cuda + "_" + compiler, ((project, compiler),), cuda=True, cuda_repository=cuda_from_compiler(cuda, compiler),
additional_tags=("Prefer: mpcdf_" + cuda,)) additional_tags=("Prefer: mpcdf_" + cuda_from_compiler(cuda, compiler),))
for mpi in filter(partial(valid_mpi, compiler), mpis): for mpi in filter(partial(valid_mpi, compiler), mpis):
repo(cuda + "_" + mpi + "_" + compiler, repo(cuda + "_" + mpi + "_" + compiler,
((project, cuda + "_" + compiler), ((project, cuda + "_" + compiler),
...@@ -962,8 +968,8 @@ Macros: ...@@ -962,8 +968,8 @@ Macros:
((project, cuda + "_" + mpi + "_" + compiler),), ((project, cuda + "_" + mpi + "_" + compiler),),
cuda_aware_mpi=True, cuda_aware_mpi=True,
mpi_module=mpi_module(mpi).replace("openmpi", "openmpi_gpu"), mpi_module=mpi_module(mpi).replace("openmpi", "openmpi_gpu"),
additional_tags=("Prefer: mpcdf_mpi_" + mpi + "_" + cuda, additional_tags=("Prefer: mpcdf_mpi_" + mpi + "_" + cuda_from_compiler(cuda, compiler),
"Prefer: mpcdf_" + cuda,)) "Prefer: mpcdf_" + cuda_from_compiler(cuda, compiler),))
for of in openmpi_flavors: for of in openmpi_flavors:
dependencies = ((project, cuda + "_" + mpi + "_" + compiler),) dependencies = ((project, cuda + "_" + mpi + "_" + compiler),)
if not parent: if not parent:
...@@ -973,7 +979,7 @@ Macros: ...@@ -973,7 +979,7 @@ Macros:
cuda_aware_mpi=True, cuda_aware_mpi=True,
openmpi_flavor=openmpi_flavor_kind(of), openmpi_flavor=openmpi_flavor_kind(of),
openmpi_flavor_full=of, openmpi_flavor_full=of,
additional_tags=("Prefer: mpcdf_" + cuda,)) additional_tags=("Prefer: mpcdf_" + cuda_from_compiler(cuda, compiler),))
if old_repos: if old_repos:
if remove_old: if remove_old:
......
...@@ -5,6 +5,7 @@ import osc.core ...@@ -5,6 +5,7 @@ import osc.core
import osc.cmdln import osc.cmdln
import urllib import urllib
@osc.cmdln.option('--ignore-missing', action="store_true", @osc.cmdln.option('--ignore-missing', action="store_true",
help="Ignore if package is missing in some/all sub-projects") help="Ignore if package is missing in some/all sub-projects")
def do_mpcdf_remove(self, subcmd, opts, *args): def do_mpcdf_remove(self, subcmd, opts, *args):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment