Combine CUDA Leap-Frog, LINCS and SETTLE. I.
commit1c8eb7c5398332b4d485f2cba086c3d8d80068c2
authorArtem Zhmurov <zhmurov@gmail.com>
Mon, 18 Mar 2019 18:03:59 +0000 (18 19:03 +0100)
committerArtem Zhmurov <zhmurov@gmail.com>
Tue, 18 Jun 2019 09:24:36 +0000 (18 11:24 +0200)
treed07ee7ceed5605094515798604a6f250df8b1cb5
parent1fdde1f9504b938d8da618dee5b49c2da6d42a1b
Combine CUDA Leap-Frog, LINCS and SETTLE. I.

This is the first step in combining constraints and integrator
into "UpdateAndConstraints" module. The initial merge does not
imply any performance optimisation or code clean-up. Hence, this
patch keeps all the temporary infrastructure that was built
around SETTLE, LINCS and Leap-Frog to allow them to function as
a separate units. In the following commits, this infrastructure
will be removed and these three implementations will be more closely
integrated. To enable, set GMX_UPDATE_CONSTRAIN_GPU environment
variable. Note, that environment variables GMX_LINCS_GPU,
GMX_SETTLE_GPU and GMX_INTEGRATE_GPU will no longer work.

Refs #2816, #2888

Change-Id: I8730aad0ecaa0230686fe89d1157b0da2f01f7bc
src/gromacs/mdlib/CMakeLists.txt
src/gromacs/mdlib/constr.cpp
src/gromacs/mdlib/update_constrain_cuda.h [new file with mode: 0644]
src/gromacs/mdlib/update_constrain_cuda_impl.cpp [new file with mode: 0644]
src/gromacs/mdlib/update_constrain_cuda_impl.cu [new file with mode: 0644]
src/gromacs/mdlib/update_constrain_cuda_impl.h [new file with mode: 0644]
src/gromacs/mdrun/md.cpp