Bug #1757
Verlet buffer calculated too small with 2-wide SIMD
Description
Due to a missing SIMD include file, the Verlet buffer size for rlist was calculated too small by grompp and mdrun with 2-wide simd. This could lead to larger energy drift due particles moving into range during nstlist steps, but the difference in buffer between 4x2 and 4x4 is small (up to 15%). The architectures with 2-wide SIMD are SSE2, SSE4 and AVX128-FMA (all in double precision only) and SPARC64.
Associated revisions
History
#1 Updated by Gerrit Code Review Bot over 3 years ago
Gerrit received a related patchset '1' for Issue #1757.
Uploader: Berk Hess (hess@kth.se)
Change-Id: If4bf9ad17b82b22c9d9f7c1dd3f88e66f2314df4
Gerrit URL: https://gerrit.gromacs.org/4792
#2 Updated by Erik Lindahl over 3 years ago
... and of those architectures, SPARC64 has not used SIMD for verlet kernels yet. In other words only some double precision builds might have been affected.
#3 Updated by Erik Lindahl over 3 years ago
- Status changed from New to Fix uploaded
#4 Updated by Erik Lindahl over 3 years ago
- Status changed from Fix uploaded to Resolved
#5 Updated by Erik Lindahl over 3 years ago
- Status changed from Resolved to Closed
Fixed Verlet buffer issue with 2-wide SIMD
The Verlet buffer size for CPUs was always calculated for 4x4.
With 2-wide SIMD the estimate should be for 4x2, which results
in a slighly larger list buffer.
grompp now always sets rlist for a 4x4 list setup; mdrun anyhow
redetermines rlist at run time (added a note for this in grompp).
Fixes #1757.
Change-Id: If4bf9ad17b82b22c9d9f7c1dd3f88e66f2314df4