diff --git a/eb_hooks.py b/eb_hooks.py index 31f2b9588d..8d05523c2b 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -19,6 +19,7 @@ CPU_TARGET_NEOVERSE_V1 = 'aarch64/neoverse_v1' +CPU_TARGET_AARCH64_GENERIC = 'aarch64/generic' EESSI_RPATH_OVERRIDE_ATTR = 'orig_rpath_override_dirs' @@ -268,6 +269,24 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs): raise EasyBuildError("WRF-specific hook triggered for non-WRF easyconfig?!") +def pre_configure_hook_LAMMPS_aarch64(self, *args, **kwargs): + """ + pre-configure hook for LAMMPS: + - set kokkos_arch on Aarch64 + """ + + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + if self.name == 'LAMMPS': + if self.version == '23Jun2022': + if get_cpu_architecture() == AARCH64: + if cpu_target == CPU_TARGET_AARCH64_GENERIC: + self.cfg['kokkos_arch'] = 'ARM80' + else: + self.cfg['kokkos_arch'] = 'ARM81' + else: + raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") + + def pre_test_hook(self,*args, **kwargs): """Main pre-test hook: trigger custom functions based on software name.""" if self.name in PRE_TEST_HOOKS: @@ -346,6 +365,7 @@ def pre_single_extension_isoband(ext, *args, **kwargs): 'MetaBAT': pre_configure_hook_metabat_filtered_zlib_dep, 'OpenBLAS': pre_configure_hook_openblas_optarch_generic, 'WRF': pre_configure_hook_wrf_aarch64, + 'LAMMPS': pre_configure_hook_LAMMPS_aarch64, } PRE_TEST_HOOKS = { diff --git a/eessi-2023.06-eb-4.8.1-2021b.yml b/eessi-2023.06-eb-4.8.1-2021b.yml index 62f529563a..6ee44926ba 100644 --- a/eessi-2023.06-eb-4.8.1-2021b.yml +++ b/eessi-2023.06-eb-4.8.1-2021b.yml @@ -5,3 +5,11 @@ easyconfigs: options: from-pr: 18834 - R-4.2.0-foss-2021b.eb + - PLUMED-2.7.3-foss-2021b.eb: + # the --enable-asmjit is not supported on Aarch64 + options: + from-pr: 19110 + - LAMMPS-23Jun2022-foss-2021b-kokkos.eb: + # TBB and ScaFaCos are optional dependencies when building on Intel arch + options: + from-pr: 19246