@@ -291,6 +291,23 @@ def parse_hook_ucx_eprefix(ec, eprefix):
291291 raise EasyBuildError ("UCX-specific hook triggered for non-UCX easyconfig?!" )
292292
293293
294+ def parse_hook_lammps_remove_deps_for_CI_aarch64 (ec , * args , ** kwargs ):
295+ """
296+ Remove x86_64 specific dependencies for the CI to pass on aarch64
297+ """
298+ if ec .name == 'LAMMPS' and ec .version in ('2Aug2023_update2' ,):
299+ if os .getenv ('EESSI_CPU_FAMILY' ) == 'aarch64' :
300+ # ScaFaCoS and tbb are not compatible with aarch64/* CPU targets,
301+ # so remove them as dependencies for LAMMPS (they're optional);
302+ # see also https://github.com/easybuilders/easybuild-easyconfigs/pull/19164 +
303+ # https://github.com/easybuilders/easybuild-easyconfigs/pull/19000;
304+ # we need this hook because we check for missing installations for all CPU targets
305+ # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true)
306+ ec ['dependencies' ] = [dep for dep in ec ['dependencies' ] if dep [0 ] not in ('ScaFaCoS' , 'tbb' )]
307+ else :
308+ raise EasyBuildError ("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!" )
309+
310+
294311def pre_configure_hook (self , * args , ** kwargs ):
295312 """Main pre-configure hook: trigger custom functions based on software name."""
296313 if self .name in PRE_CONFIGURE_HOOKS :
@@ -363,24 +380,6 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs):
363380 raise EasyBuildError ("WRF-specific hook triggered for non-WRF easyconfig?!" )
364381
365382
366- def pre_configure_hook_LAMMPS_aarch64 (self , * args , ** kwargs ):
367- """
368- pre-configure hook for LAMMPS:
369- - set kokkos_arch on Aarch64
370- """
371-
372- cpu_target = get_eessi_envvar ('EESSI_SOFTWARE_SUBDIR' )
373- if self .name == 'LAMMPS' :
374- if self .version == '23Jun2022' :
375- if get_cpu_architecture () == AARCH64 :
376- if cpu_target == CPU_TARGET_AARCH64_GENERIC :
377- self .cfg ['kokkos_arch' ] = 'ARM80'
378- else :
379- self .cfg ['kokkos_arch' ] = 'ARM81'
380- else :
381- raise EasyBuildError ("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!" )
382-
383-
384383def pre_configure_hook_atspi2core_filter_ld_library_path (self , * args , ** kwargs ):
385384 """
386385 pre-configure hook for at-spi2-core:
@@ -634,6 +633,7 @@ def inject_gpu_property(ec):
634633 'pybind11' : parse_hook_pybind11_replace_catch2 ,
635634 'Qt5' : parse_hook_qt5_check_qtwebengine_disable ,
636635 'UCX' : parse_hook_ucx_eprefix ,
636+ 'LAMMPS' : parse_hook_lammps_remove_deps_for_CI_aarch64 ,
637637}
638638
639639POST_PREPARE_HOOKS = {
@@ -645,7 +645,6 @@ def inject_gpu_property(ec):
645645 'MetaBAT' : pre_configure_hook_metabat_filtered_zlib_dep ,
646646 'OpenBLAS' : pre_configure_hook_openblas_optarch_generic ,
647647 'WRF' : pre_configure_hook_wrf_aarch64 ,
648- 'LAMMPS' : pre_configure_hook_LAMMPS_aarch64 ,
649648 'at-spi2-core' : pre_configure_hook_atspi2core_filter_ld_library_path ,
650649}
651650
0 commit comments