|
18 | 18 | from easybuild.tools.filetools import apply_regex_substitutions, copy_dir, copy_file, remove_file, symlink, which |
19 | 19 | from easybuild.tools.modules import get_software_root, get_software_root_env_var_name |
20 | 20 | 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 |
22 | 22 | from easybuild.tools.toolchain.compiler import OPTARCH_GENERIC |
23 | 23 | from easybuild.tools.toolchain.toolchain import is_system_toolchain |
24 | 24 | 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): |
1705 | 1705 | self.cfg['testopts'] = "|| echo ignoring failing tests" |
1706 | 1706 |
|
1707 | 1707 |
|
| 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 | + |
1708 | 1725 | def pre_single_extension_hook(ext, *args, **kwargs): |
1709 | 1726 | """Main pre-extension: trigger custom functions based on software name.""" |
1710 | 1727 | if ext.name in PRE_SINGLE_EXTENSION_HOOKS: |
@@ -2118,6 +2135,7 @@ def post_easyblock_hook(self, *args, **kwargs): |
2118 | 2135 | 'Highway': pre_test_hook_exclude_failing_test_Highway, |
2119 | 2136 | 'LAMMPS': pre_test_hook_lammps_ignore_failure_arm_generic, |
2120 | 2137 | 'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle, |
| 2138 | + 'Siesta': pre_test_hook_Siesta_ignore_failure_with_crosscompilation, |
2121 | 2139 | 'netCDF': pre_test_hook_ignore_failing_tests_netCDF, |
2122 | 2140 | 'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx, |
2123 | 2141 | 'PyTorch': pre_test_hook_increase_max_failed_tests_arm_PyTorch, |
|
0 commit comments