GPU Force Halo Exchange
authorAlan Gray <alang@nvidia.com>
Tue, 3 Sep 2019 08:00:13 +0000 (01:00 -0700)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 18 Sep 2019 13:36:32 +0000 (15:36 +0200)
commit54c2472992b082d43bc020a0165d47a64165991e
tree4984a99ec6fd5bc49a590c7ce8f657eb63b2c95b
parent62e8dbdae238d10366551016944b8439eb89fec8
GPU Force Halo Exchange

Activate with GMX_GPU_DD_COMMS environment variable.

Extends GPU Halo exchange feature to provide GPU Force halo exchange
functionality. Does not yet support virial steps, which require an
extra shift force reduction - these are currently performed on the
non-buffer ops / non direct-comm path. Also has same limitations as
coordinate halo exchange.

Performs part of #2890. Future work to improve synchronization towards
a more one-sided scheme (#3092) and to make depenencies more
explicit (#3093)

Change-Id: Ifc23cc8db2655f7258e68b34e7cdc7b71994e1e8
src/gromacs/domdec/gpuhaloexchange.h
src/gromacs/domdec/gpuhaloexchange_impl.cpp [changed mode: 0755->0644]
src/gromacs/domdec/gpuhaloexchange_impl.cu
src/gromacs/domdec/gpuhaloexchange_impl.cuh
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdrun/runner.cpp
src/gromacs/nbnxm/cuda/nbnxm_cuda.cu
src/gromacs/nbnxm/nbnxm.cpp
src/gromacs/nbnxm/nbnxm.h
src/gromacs/nbnxm/nbnxm_gpu.h