|
26 | 26 | CPU_TARGET_AARCH64_GENERIC = 'aarch64/generic'
|
27 | 27 | CPU_TARGET_A64FX = 'aarch64/a64fx'
|
28 | 28 |
|
| 29 | +CPU_TARGET_ZEN4 = 'x86_64/amd/zen4' |
| 30 | + |
29 | 31 | EESSI_RPATH_OVERRIDE_ATTR = 'orig_rpath_override_dirs'
|
30 | 32 |
|
31 | 33 | SYSTEM = EASYCONFIG_CONSTANTS['SYSTEM'][0]
|
@@ -514,6 +516,23 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs):
|
514 | 516 | raise EasyBuildError("WRF-specific hook triggered for non-WRF easyconfig?!")
|
515 | 517 |
|
516 | 518 |
|
| 519 | +def pre_configure_hook_LAMMPS_zen4(self, *args, **kwargs): |
| 520 | + """ |
| 521 | + pre-configure hook for LAMMPS: |
| 522 | + - set kokkos_arch on x86_64/amd/zen4 |
| 523 | + """ |
| 524 | + |
| 525 | + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') |
| 526 | + if self.name == 'LAMMPS': |
| 527 | + if self.version == '2Aug2023_update2': |
| 528 | + if get_cpu_architecture() == X86_64: |
| 529 | + if cpu_target == CPU_TARGET_ZEN4: |
| 530 | + # There is no support for ZEN4 in LAMMPS yet so falling back to ZEN3 |
| 531 | + self.cfg['kokkos_arch'] = 'ZEN3' |
| 532 | + else: |
| 533 | + raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") |
| 534 | + |
| 535 | + |
517 | 536 | def pre_test_hook(self,*args, **kwargs):
|
518 | 537 | """Main pre-test hook: trigger custom functions based on software name."""
|
519 | 538 | if self.name in PRE_TEST_HOOKS:
|
@@ -783,6 +802,7 @@ def inject_gpu_property(ec):
|
783 | 802 | 'MetaBAT': pre_configure_hook_metabat_filtered_zlib_dep,
|
784 | 803 | 'OpenBLAS': pre_configure_hook_openblas_optarch_generic,
|
785 | 804 | 'WRF': pre_configure_hook_wrf_aarch64,
|
| 805 | + 'LAMMPS': pre_configure_hook_LAMMPS_zen4, |
786 | 806 | }
|
787 | 807 |
|
788 | 808 | PRE_TEST_HOOKS = {
|
|
0 commit comments