Skip to content

Commit c8bbcfc

Browse files
committed
Skip tests that require gpus when crosscompiling Siesta
1 parent 4eeb0de commit c8bbcfc

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
easyconfigs:
2+
- Siesta-5.4.2-foss-2024a-CUDA-12.6.0.eb

eb_hooks.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from easybuild.tools.filetools import apply_regex_substitutions, copy_dir, copy_file, remove_file, symlink, which
1919
from easybuild.tools.modules import get_software_root, get_software_root_env_var_name
2020
from easybuild.tools.run import run_cmd
21-
from easybuild.tools.systemtools import AARCH64, POWER, X86_64, det_parallelism, get_cpu_architecture, get_cpu_features
21+
from easybuild.tools.systemtools import AARCH64, POWER, X86_64, det_parallelism, get_cpu_architecture, get_cpu_features, get_gpu_info
2222
from easybuild.tools.toolchain.compiler import OPTARCH_GENERIC
2323
from easybuild.tools.toolchain.toolchain import is_system_toolchain
2424
from easybuild.tools.version import VERSION as EASYBUILD_VERSION
@@ -1705,6 +1705,23 @@ def pre_test_hook_ignore_failing_tests_OpenBabel_a64fx(self, *args, **kwargs):
17051705
self.cfg['testopts'] = "|| echo ignoring failing tests"
17061706

17071707

1708+
def pre_test_hook_Siesta_ignore_failure_with_crosscompilation(self, *args, **kwargs):
1709+
"""
1710+
Ignore failing tests when crosscompiling without gpu pressent.
1711+
"""
1712+
if self.name == 'Siesta':
1713+
if self.version in ['5.4.2']:
1714+
cuda_cc = build_option('cuda_compute_capabilities')
1715+
if cuda_cc and not get_gpu_info():
1716+
failing_tests=[
1717+
"Solvers-si-qdot-elsi-elpa-gpu_mpi4_omp1", # runs cuda get device
1718+
"Solvers-si-qdot-elsi-elpa-1stage-gpu_mpi4_omp1", # runs cuda get device
1719+
"Solvers-si-qdot-elpa-native-gpu_mpi4_omp1", # runs cuda get device
1720+
"Solvers-si-qdot-elpa-native-1stage-gpu_mpi4_omp1", # runs cuda get device
1721+
]
1722+
self.cfg['testopts'] = self.cfg['testopts'][:-1] + "|" + "|".join(failing_tests) + "'"
1723+
1724+
17081725
def pre_single_extension_hook(ext, *args, **kwargs):
17091726
"""Main pre-extension: trigger custom functions based on software name."""
17101727
if ext.name in PRE_SINGLE_EXTENSION_HOOKS:
@@ -2118,6 +2135,7 @@ def post_easyblock_hook(self, *args, **kwargs):
21182135
'Highway': pre_test_hook_exclude_failing_test_Highway,
21192136
'LAMMPS': pre_test_hook_lammps_ignore_failure_arm_generic,
21202137
'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle,
2138+
'Siesta': pre_test_hook_Siesta_ignore_failure_with_crosscompilation,
21212139
'netCDF': pre_test_hook_ignore_failing_tests_netCDF,
21222140
'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx,
21232141
'PyTorch': pre_test_hook_increase_max_failed_tests_arm_PyTorch,

0 commit comments

Comments
 (0)