Skip to content
Merged
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
11 changes: 10 additions & 1 deletion easybuild/easyblocks/l/lammps.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,16 @@ def get_kokkos_arch(self, cuda_cc, kokkos_arch):
# For other architectures we set a custom/non-existent type, which will disable all optimizations,
# and it should use the compiler (optimization) flags set by EasyBuild for this architecture.
if get_cpu_architecture() == AARCH64:
processor_arch = 'ARMV80'
if kokkos_arch:
# If someone is trying a manual override for this case, let them
if kokkos_arch not in KOKKOS_CPU_ARCH_LIST:
warning_msg = "Specified CPU ARCH (%s) " % kokkos_arch
warning_msg += "was not found in listed options [%s]." % KOKKOS_CPU_ARCH_LIST
warning_msg += "Still might work though."
print_warning(warning_msg)
processor_arch = kokkos_arch
else:
processor_arch = 'ARMV80'
Comment on lines +279 to +288
Copy link
Collaborator

@Thyre Thyre Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand the idea, but this looks weird nonetheless.
This will still print a warning because kokkos_arch is set, even though it is not ignored but will be used. It's also confusing that this only applies for aarch64, even though one might want to use the same approach for x86 when the generic optarch is set.

Instead, we should probably check kokkos_arch first and the optarch if kokkos_arch is not set.
This would allow EESSI to use the overwrite, and increase flexibility in general.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ocaisa @laraPPr Should we follow up on this?

@Thyre Maybe it's better to open an issue, following up on things in merged PRs is notoriously difficult

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

else:
processor_arch = 'EASYBUILD_GENERIC'

Expand Down