[gmx-developers] 4.6 Binaries and Acceleration levels

Roland Schulz roland at utk.edu
Thu Jul 5 20:11:01 CEST 2012


Hi,

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
runtime.

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.

Roland

-- 
ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
865-241-1537, ORNL PO BOX 2008 MS6309



More information about the gromacs.org_gmx-developers mailing list