Skip to content
Merged
Show file tree
Hide file tree
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
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
easyconfigs:
- OpenMPI-4.1.5-GCC-12.3.0.eb
- foss-2023a.eb
22 changes: 21 additions & 1 deletion eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
CPU_TARGET_NEOVERSE_N1 = 'aarch64/neoverse_n1'
CPU_TARGET_NEOVERSE_V1 = 'aarch64/neoverse_v1'
CPU_TARGET_AARCH64_GENERIC = 'aarch64/generic'
CPU_TARGET_A64FX = 'aarch64/a64fx'

EESSI_RPATH_OVERRIDE_ATTR = 'orig_rpath_override_dirs'

Expand Down Expand Up @@ -335,6 +336,24 @@ def pre_configure_hook(self, *args, **kwargs):
PRE_CONFIGURE_HOOKS[self.name](self, *args, **kwargs)


def pre_configure_hook_BLIS_a64fx(self, *args, **kwargs):
"""
Pre-configure hook for BLIS when building for A64FX:
- add -DCACHE_SECTOR_SIZE_READONLY to $CFLAGS for BLIS 0.9.0, cfr. https://github.com/flame/blis/issues/800
"""
if self.name == 'BLIS':
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
if self.version == '0.9.0' and cpu_target == CPU_TARGET_A64FX:
# last argument of BLIS' configure command is configuration target (usually 'auto' for auto-detect),
# specifying of variables should be done before that
config_opts = self.cfg['configopts'].split(' ')
cflags_var = 'CFLAGS="$CFLAGS -DCACHE_SECTOR_SIZE_READONLY"'
config_target = config_opts[-1]
self.cfg['configopts'] = ' '.join(config_opts[:-1] + [cflags_var, config_target])
else:
raise EasyBuildError("BLIS-specific hook triggered for non-BLIS easyconfig?!")


def pre_configure_hook_gromacs(self, *args, **kwargs):
"""
Pre-configure hook for GROMACS:
Expand Down Expand Up @@ -680,12 +699,13 @@ def inject_gpu_property(ec):
}

PRE_CONFIGURE_HOOKS = {
'at-spi2-core': pre_configure_hook_atspi2core_filter_ld_library_path,
'BLIS': pre_configure_hook_BLIS_a64fx,
'GROMACS': pre_configure_hook_gromacs,
'libfabric': pre_configure_hook_libfabric_disable_psm3_x86_64_generic,
'MetaBAT': pre_configure_hook_metabat_filtered_zlib_dep,
'OpenBLAS': pre_configure_hook_openblas_optarch_generic,
'WRF': pre_configure_hook_wrf_aarch64,
'at-spi2-core': pre_configure_hook_atspi2core_filter_ld_library_path,
}

PRE_TEST_HOOKS = {
Expand Down