Add SIMD intrinsics version of simple update
authorBerk Hess <hess@kth.se>
Wed, 5 Jul 2017 09:44:42 +0000 (11:44 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Fri, 6 Oct 2017 07:53:48 +0000 (09:53 +0200)
commita197461a5ebf59d85620d3834931b2925300431c
tree65c65a41b9e40d738bc4caa28b8e70f381efac70
parent65ed76a674e13460f485d8385a6a1f03c3affc76
Add SIMD intrinsics version of simple update

To get better performance in cases where the compiler can't vectorize
the simple leap frog integrator loop and to reduce cache pressure of
the invMassPerDim, introduced a SIMD intrinsics version of the simple
leap-frog update without pressure coupling and one T-scale factor.
To achieve this md->invmass now uses the aligned allocation policy
and is padded by GMX_REAL_MAX_SIMD_WIDTH elements.
Asserts have been added to check for the padding.

Change-Id: I98f766e32adc292403782dc67f941a816609e304
src/gromacs/gmxana/gmx_disre.cpp
src/gromacs/gmxpreprocess/readpull.cpp
src/gromacs/mdlib/mdatoms.cpp
src/gromacs/mdlib/mdatoms.h
src/gromacs/mdlib/update.cpp
src/gromacs/mdtypes/mdatom.h
src/gromacs/simd/simd.h
src/programs/mdrun/runner.cpp