SIMD acceleration for LINCS
authorBerk Hess <hess@kth.se>
Tue, 13 Jan 2015 20:15:21 +0000 (21:15 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Thu, 5 Mar 2015 00:11:28 +0000 (01:11 +0100)
commitc8f7b417aae1c009f32635f26c8984274c483d9b
tree78b66549ae0750cd92b0ddd1768851a1eb5fc09d
parentd9192a3e93e814902e50ac15c1552d8bb3c757cb
SIMD acceleration for LINCS

Added SIMD acceleration for the LINCS PBC distance calculation and
the right-hand side of the LINCS matrix equation. The sparse matrix
multiplication and atom updates are not suited for SIMD acceleration.
This uses the SIMD PBC routines that were in bonded.cpp, which have
now been moved to pbcutil/pbc-simd.

SIMD for bondeds can now be switched off at runtime by the usual SIMD
env.vars.

Change-Id: I90b1ca303fc0cfd000cc7b6148f4882e0b4471b6
src/gromacs/listed-forces/bonded.cpp
src/gromacs/listed-forces/bonded.h
src/gromacs/listed-forces/listed-forces.cpp
src/gromacs/mdlib/clincs.cpp
src/gromacs/mdlib/forcerec.cpp
src/gromacs/pbcutil/pbc-simd.cpp [new file with mode: 0644]
src/gromacs/pbcutil/pbc-simd.h [new file with mode: 0644]