@@ -1138,7 +1138,7 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs):
1138
1138
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris
1139
1139
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris_float32
1140
1140
= 2 failed, 54409 passed, 3016 skipped, 223 xfailed, 13 xpassed, 10917 warnings in 892.04s (0:14:52) =
1141
- In version 2023.07 on a64fx, 4 failing tests in scipy 1. 11.1:
1141
+ In version 2023.02 + 2023. 07 on a64fx, 4 failing tests in scipy (version 1.10.1, 1. 11.1) :
1142
1142
FAILED scipy/optimize/tests/test_linprog.py::TestLinprogIPSparse::test_bug_6139
1143
1143
FAILED scipy/optimize/tests/test_linprog.py::TestLinprogIPSparsePresolve::test_bug_6139
1144
1144
FAILED scipy/spatial/tests/test_distance.py::TestPdist::test_pdist_correlation_iris
@@ -1200,7 +1200,7 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs):
1200
1200
"""
1201
1201
cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
1202
1202
scipy_bundle_versions_nv1 = ('2021.10' , '2023.02' , '2023.07' , '2023.11' )
1203
- scipy_bundle_versions_a64fx = ('2023.07' , '2023.11' )
1203
+ scipy_bundle_versions_a64fx = ('2023.02' , '2023. 07' , '2023.11' )
1204
1204
scipy_bundle_versions_nvidia_grace = ('2023.02' , '2023.07' , '2023.11' )
1205
1205
if self .name == 'SciPy-bundle' :
1206
1206
if cpu_target == CPU_TARGET_NEOVERSE_V1 and self .version in scipy_bundle_versions_nv1 :
@@ -1262,24 +1262,29 @@ def pre_single_extension_isoband(ext, *args, **kwargs):
1262
1262
1263
1263
def pre_single_extension_numpy (ext , * args , ** kwargs ):
1264
1264
"""
1265
- Pre-extension hook for numpy, to change -march=native to -march=armv8.4-a for numpy 1.24.2
1266
- when building for aarch64/neoverse_v1 CPU target.
1265
+ Pre-extension hook for numpy:
1266
+ - change -march=native to -march=armv8.4-a for numpy 1.24.2 when building for aarch64/neoverse_v1 CPU target
1267
+ - change -march=native to -march=armv8.2-a for numpy 1.24.2 when building for aarch64/a64fx CPU target
1267
1268
"""
1268
1269
cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
1269
- if ext .name == 'numpy' and ext .version == '1.24.2' and cpu_target == CPU_TARGET_NEOVERSE_V1 :
1270
+ if ext .name == 'numpy' and ext .version == '1.24.2' :
1270
1271
# note: this hook is called before build environment is set up (by calling toolchain.prepare()),
1271
1272
# so environment variables like $CFLAGS are not defined yet
1272
1273
# unsure which of these actually matter for numpy, so changing all of them
1273
- ext .orig_optarch = build_option ('optarch' )
1274
- update_build_option ('optarch' , 'march=armv8.4-a' )
1274
+ if cpu_target == CPU_TARGET_NEOVERSE_V1 :
1275
+ ext .orig_optarch = build_option ('optarch' )
1276
+ update_build_option ('optarch' , 'march=armv8.4-a' )
1277
+ if cpu_target == CPU_TARGET_A64FX :
1278
+ ext .orig_optarch = build_option ('optarch' )
1279
+ update_build_option ('optarch' , 'march=armv8.2-a' )
1275
1280
1276
1281
1277
1282
def post_single_extension_numpy (ext , * args , ** kwargs ):
1278
1283
"""
1279
1284
Post-extension hook for numpy, to reset 'optarch' build option.
1280
1285
"""
1281
1286
cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
1282
- if ext .name == 'numpy' and ext .version == '1.24.2' and cpu_target == CPU_TARGET_NEOVERSE_V1 :
1287
+ if ext .name == 'numpy' and ext .version == '1.24.2' and cpu_target in [ CPU_TARGET_A64FX , CPU_TARGET_NEOVERSE_V1 ] :
1283
1288
update_build_option ('optarch' , ext .orig_optarch )
1284
1289
1285
1290
0 commit comments