4040CPU_TARGET_ICELAKE = 'x86_64/intel/icelake'
4141CPU_TARGET_SAPPHIRE_RAPIDS = 'x86_64/intel/sapphirerapids'
4242CPU_TARGET_ZEN4 = 'x86_64/amd/zen4'
43+ CPU_TARGET_ZEN5 = 'x86_64/amd/zen5'
4344
4445EESSI_RPATH_OVERRIDE_ATTR = 'orig_rpath_override_dirs'
4546EESSI_MODULE_ONLY_ATTR = 'orig_module_only'
@@ -697,7 +698,7 @@ def pre_fetch_hook_check_installation_path(self, *args, **kwargs):
697698 strict_eessi_installation = (
698699 bool (re .search (EESSI_INSTALLATION_REGEX , self .installdir )) or
699700 self .installdir .startswith (HOST_INJECTIONS_LOCATION ))
700- if strict_eessi_installation :
701+ if strict_eessi_installation and not os . getenv ( "EESSI_OVERRIDE_STRICT_INSTALLPATH_CHECK" ) :
701702 dependency_names = self .cfg .dependency_names ()
702703 if self .cfg .name in accelerator_deps or any (dep in dependency_names for dep in accelerator_deps ):
703704 # Make sure the path is an accelerator location
@@ -960,10 +961,11 @@ def pre_configure_hook(self, *args, **kwargs):
960961 self .cfg .update ('configopts' , 'CPPFLAGS="-DOF=_Z_OF ${CPPFLAGS}"' )
961962
962963
963- def pre_configure_hook_BLIS_a64fx (self , * args , ** kwargs ):
964+ def pre_configure_hook_BLIS (self , * args , ** kwargs ):
964965 """
965- Pre-configure hook for BLIS when building for A64FX to fix "Illegal instruction" problem
966- - add -DCACHE_SECTOR_SIZE_READONLY to $CFLAGS for BLIS 0.9.0, cfr. https://github.com/flame/blis/issues/800
966+ Pre-configure hook for BLIS
967+ - fix "Illegal instruction" problem on A64FX by adding -DCACHE_SECTOR_SIZE_READONLY to $CFLAGS for BLIS 0.9.0, cfr. https://github.com/flame/blis/issues/800
968+ - fall back to zen3 for zen5 to solve "Unable to automatically detect hardware type" error
967969 """
968970 if self .name == 'BLIS' :
969971 cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
@@ -974,6 +976,8 @@ def pre_configure_hook_BLIS_a64fx(self, *args, **kwargs):
974976 cflags_var = 'CFLAGS="$CFLAGS -DCACHE_SECTOR_SIZE_READONLY"'
975977 config_target = config_opts [- 1 ]
976978 self .cfg ['configopts' ] = ' ' .join (config_opts [:- 1 ] + [cflags_var , config_target ])
979+ if self .version in ('1.0' , '1.1' , '2.0' ) and cpu_target == CPU_TARGET_ZEN5 :
980+ self .cfg ['cpu_architecture' ] = 'zen3'
977981 else :
978982 raise EasyBuildError ("BLIS-specific hook triggered for non-BLIS easyconfig?!" )
979983
@@ -1089,7 +1093,7 @@ def pre_configure_hook_graphviz(self, *args, **kwargs):
10891093 # Replace --with-ltdl-lib and --with-zlibdir options defined in the EC to point to compat layer
10901094 lib_dir = os .path .join (usr_dir , 'lib64' )
10911095 new_items = set ()
1092- # Add to the new_items all the old items except the `--with-ltdl-lib` and `--with-ltdl-lib` for
1096+ # Add to the new_items all the old items except the `--with-ltdl-lib` and `--with-ltdl-lib` for
10931097 # which we fix the lib dir to lib64 instead of lib
10941098 for item in old_items :
10951099 if item .startswith ('--with-ltdl-lib' ):
@@ -1483,7 +1487,7 @@ def pre_test_hook_ignore_failing_tests_OpenBabel_a64fx(self, *args, **kwargs):
14831487 Pre-test hook for OpenBabel: skip timeout tests for OpenBabel 3.1.1 on aarch64/a64fx
14841488 see https://github.com/EESSI/software-layer/pull/1332#issuecomment-3877255228
14851489 the `testroundtrip.py` test reads and writes tens of thousands of small files.
1486- The test works fine when manually ran with EESSI-extend either directly or inside an eessi_container, but
1490+ The test works fine when manually ran with EESSI-extend either directly or inside an eessi_container, but
14871491 consistently fails with the bot
14881492 """
14891493 cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
@@ -1873,7 +1877,7 @@ def post_easyblock_hook(self, *args, **kwargs):
18731877}
18741878
18751879PRE_CONFIGURE_HOOKS = {
1876- 'BLIS' : pre_configure_hook_BLIS_a64fx ,
1880+ 'BLIS' : pre_configure_hook_BLIS ,
18771881 'CUDA-Samples' : pre_configure_hook_CUDA_Samples_test_remove ,
18781882 'GObject-Introspection' : pre_configure_hook_gobject_introspection ,
18791883 'Extrae' : pre_configure_hook_extrae ,
0 commit comments