From 189e6503e1f6342eb0ca4cf90657402c13370d73 Mon Sep 17 00:00:00 2001 From: Oliver Stueker Date: Fri, 31 Oct 2025 13:31:49 -0230 Subject: [PATCH 1/2] support 'X86-64-V?' style Microarchitecture levels in optarch --- easybuild/easyblocks/g/gromacs.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyblocks/g/gromacs.py b/easybuild/easyblocks/g/gromacs.py index 39959335531..307aab648af 100644 --- a/easybuild/easyblocks/g/gromacs.py +++ b/easybuild/easyblocks/g/gromacs.py @@ -117,13 +117,13 @@ def get_gromacs_arch(self): # http://manual.gromacs.org/documentation/2018/install-guide/index.html#simd-support if 'MIC-AVX512' in optarch and LooseVersion(self.version) >= LooseVersion('2016'): res = 'AVX_512_KNL' - elif 'AVX512' in optarch and LooseVersion(self.version) >= LooseVersion('2016'): + elif ('AVX512' in optarch or 'X86-64-V4' in optarch) and LooseVersion(self.version) >= LooseVersion('2016'): res = 'AVX_512' - elif 'AVX2' in optarch and LooseVersion(self.version) >= LooseVersion('5.0'): + elif ('AVX2' in optarch or 'X86-64-V3' in optarch)and LooseVersion(self.version) >= LooseVersion('5.0'): res = 'AVX2_256' elif 'AVX' in optarch: res = 'AVX_256' - elif 'SSE3' in optarch or 'SSE2' in optarch or 'MARCH=NOCONA' in optarch: + elif 'SSE3' in optarch or 'SSE2' in optarch or 'MARCH=NOCONA' in optarch or 'X86-64-V2' in optarch: # Gromacs doesn't have any GMX_SIMD=SSE3 but only SSE2 and SSE4.1 [1]. # According to [2] the performance difference between SSE2 and SSE4.1 is minor on x86 # and SSE4.1 is not supported by AMD Magny-Cours[1]. From a47a652fe268084df82bc79e3a4ef4e5ca770e42 Mon Sep 17 00:00:00 2001 From: Oliver Stueker Date: Fri, 31 Oct 2025 15:10:59 -0230 Subject: [PATCH 2/2] EB_GROMACS: fix linter --- easybuild/easyblocks/g/gromacs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyblocks/g/gromacs.py b/easybuild/easyblocks/g/gromacs.py index 307aab648af..68373570f1b 100644 --- a/easybuild/easyblocks/g/gromacs.py +++ b/easybuild/easyblocks/g/gromacs.py @@ -119,7 +119,7 @@ def get_gromacs_arch(self): res = 'AVX_512_KNL' elif ('AVX512' in optarch or 'X86-64-V4' in optarch) and LooseVersion(self.version) >= LooseVersion('2016'): res = 'AVX_512' - elif ('AVX2' in optarch or 'X86-64-V3' in optarch)and LooseVersion(self.version) >= LooseVersion('5.0'): + elif ('AVX2' in optarch or 'X86-64-V3' in optarch) and LooseVersion(self.version) >= LooseVersion('5.0'): res = 'AVX2_256' elif 'AVX' in optarch: res = 'AVX_256'