Re: [gmx-developers] 4.6 Binaries and Acceleration levels

Berk Hess hess at
Thu Jul 5 20:25:11 CEST 2012

We would have to compile different kernels with different compiler options, which gets quite complicated. With assembly kernels this was much simpler.



----- Reply message -----
From: "Roland Schulz" <roland at>
To: "Discussion list for GROMACS development" <gmx-developers at>
Subject: [gmx-developers] 4.6 Binaries and Acceleration levels
Date: Thu, Jul 5, 2012 20:11


with the new large number of GMX_ACCELERATION options (SSE2, SSE4.1,
AVX_128_FMA, AVX_256) for X86 it's going to be very difficult to make
efficient binary packages. This effects both us if we provide binaries
and the Linux distributions. Either one only has SSE2 binaries or one
has to create a large number of binaries and let the user choose the
correct one. In the first case the user might get significant lower
performance then would be possible.

Has the option to allow setting GMX_ACCELERATION to more than one
value been discussed?  Wouldn't it be relatively easy to compile the
same kernel more than once with different defines and use a macro to
add the acceleration in the function name of the kernel (E.g.
nbnxn_kernel_x86_sse41_simd128)? That way one could create one binary
which has all accelerations and the correct one would be chosen at

Otherwise I expect that everyone using mdrun from a binary Linux
distribution is getting only SSE2 acceleration. Obviously I'm very
late with suggesting that but the new GMX_ACCELERATION options have
also only just been added given little time to think about how to make
binary distributions.


ORNL/UT Center for Molecular Biophysics
865-241-1537, ORNL PO BOX 2008 MS6309
gmx-developers mailing list
gmx-developers at
Please don't post (un)subscribe requests to the list. Use the 
www interface or send it to gmx-developers-request at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gromacs.org_gmx-developers mailing list