Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -1138,7 +1138,7 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs):
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris_float32
= 2 failed, 54409 passed, 3016 skipped, 223 xfailed, 13 xpassed, 10917 warnings in 892.04s (0:14:52) =
In version 2023.07 on a64fx, 4 failing tests in scipy 1.11.1:
In version 2023.02 + 2023.07 on a64fx, 4 failing tests in scipy (version 1.10.1, 1.11.1):
FAILED scipy/optimize/tests/test_linprog.py::TestLinprogIPSparse::test_bug_6139
FAILED scipy/optimize/tests/test_linprog.py::TestLinprogIPSparsePresolve::test_bug_6139
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris
Expand Down Expand Up @@ -1200,7 +1200,7 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs):
"""
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
scipy_bundle_versions_nv1 = ('2021.10', '2023.02', '2023.07', '2023.11')
scipy_bundle_versions_a64fx = ('2023.07', '2023.11')
scipy_bundle_versions_a64fx = ('2023.02', '2023.07', '2023.11')
scipy_bundle_versions_nvidia_grace = ('2023.02', '2023.07', '2023.11')
if self.name == 'SciPy-bundle':
if cpu_target == CPU_TARGET_NEOVERSE_V1 and self.version in scipy_bundle_versions_nv1:
Expand Down Expand Up @@ -1262,24 +1262,29 @@ def pre_single_extension_isoband(ext, *args, **kwargs):

def pre_single_extension_numpy(ext, *args, **kwargs):
"""
Pre-extension hook for numpy, to change -march=native to -march=armv8.4-a for numpy 1.24.2
when building for aarch64/neoverse_v1 CPU target.
Pre-extension hook for numpy:
- change -march=native to -march=armv8.4-a for numpy 1.24.2 when building for aarch64/neoverse_v1 CPU target
- change -march=native to -march=armv8.2-a for numpy 1.24.2 when building for aarch64/a64fx CPU target
"""
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
if ext.name == 'numpy' and ext.version == '1.24.2' and cpu_target == CPU_TARGET_NEOVERSE_V1:
if ext.name == 'numpy' and ext.version == '1.24.2':
# note: this hook is called before build environment is set up (by calling toolchain.prepare()),
# so environment variables like $CFLAGS are not defined yet
# unsure which of these actually matter for numpy, so changing all of them
ext.orig_optarch = build_option('optarch')
update_build_option('optarch', 'march=armv8.4-a')
if cpu_target == CPU_TARGET_NEOVERSE_V1:
ext.orig_optarch = build_option('optarch')
update_build_option('optarch', 'march=armv8.4-a')
if cpu_target == CPU_TARGET_A64FX:
ext.orig_optarch = build_option('optarch')
update_build_option('optarch', 'march=armv8.2-a')


def post_single_extension_numpy(ext, *args, **kwargs):
"""
Post-extension hook for numpy, to reset 'optarch' build option.
"""
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
if ext.name == 'numpy' and ext.version == '1.24.2' and cpu_target == CPU_TARGET_NEOVERSE_V1:
if ext.name == 'numpy' and ext.version == '1.24.2' and cpu_target in [CPU_TARGET_A64FX, CPU_TARGET_NEOVERSE_V1]:
update_build_option('optarch', ext.orig_optarch)


Expand Down