Skip to content

stick to NEON when building GROMACS on ARM CPUs, even when SVE is supported#3870

Draft
boegel wants to merge 2 commits intoeasybuilders:developfrom
boegel:20250805130317_new_pr_gromacs
Draft

stick to NEON when building GROMACS on ARM CPUs, even when SVE is supported#3870
boegel wants to merge 2 commits intoeasybuilders:developfrom
boegel:20250805130317_new_pr_gromacs

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Aug 5, 2025

(created using eb --new-pr)
sticking to NEON is known to lead to significantly better performance, see https://manual.gromacs.org/documentation/current/install-guide/index.html#nvidia-grace + https://gitlab.com/gromacs/gromacs/-/issues/5284 + https://gitlab.com/gromacs/gromacs/-/issues/5390 for more details

edit: draft, because this needs some more homework:

  • changes to easyblock are totally untested;
  • GROMACS issue only talks about Neoverse V2 (like NVIDIA Grace), what about Neoverse V1 which also supports SVE?

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
…is supported

Co-authored-by: ocaisa <alan.ocais@cecam.org>
@migueldiascosta
Copy link
Copy Markdown
Member

Note that the performance advantage of NEON over SVE, besides probably being specific to Grace, is specific to the short-range non bonded interactions, and "when the short-range non bonded interactions run on the GPU it is recommended to stay with GMX_SIMD=ARM_SVE" (https://manual.gromacs.org/documentation/current/install-guide/index.html#nvidia-grace), so the condition to use NEON should probably be for Grace plus non-CUDA builds, although it still depends on how GROMACs is run

To be honest, I think the main concern is to avoid ever using SVE with LLVM 20 (https://gitlab.com/gromacs/gromacs/-/issues/5390#note_2702855160), that's a ~10x performance regression. The NEON vs SVE difference reported for Grace is only ~10% (https://gitlab.com/gromacs/gromacs/-/issues/5284#summary), and that may change in the future, we wouldn't want to be accidentally stuck with NEON when that happens

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants