Bug fix and simplification for CUDA X Buffer Ops
authorAlan Gray <alang@nvidia.com>
Wed, 12 Jun 2019 15:03:27 +0000 (08:03 -0700)
committerSzilárd Páll <pall.szilard@gmail.com>
Mon, 1 Jul 2019 21:44:33 +0000 (23:44 +0200)
commit32b7891450622add82abfac2f44437b3a5f6e92e
treefddbc8515205631dfa6067105a23b91f549ae86c
parent5c15e1c2eacc840b977ff3fd683edab453f0e5ae
Bug fix and simplification for CUDA X Buffer Ops

Fixes bug when there are more than two grids (ie they don't naively
map to local/nonlocal), by using a separate GPU memory space for
cxy_na and cxy_ind data for each grid (it previously only had one
local and one nonlocal space with overwriting). Also simpifies by now
only calling init fn once per NS step to set up data for all grids
(previously called for both local and nonlocal).

Change-Id: Ia2b97d22324aa97dca34b05da2eca2e2090372af
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdrun/md.cpp
src/gromacs/nbnxm/atomdata.cpp
src/gromacs/nbnxm/cuda/nbnxm_cuda.cu
src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu
src/gromacs/nbnxm/cuda/nbnxm_cuda_types.h
src/gromacs/nbnxm/gridset.cpp
src/gromacs/nbnxm/gridset.h
src/gromacs/nbnxm/nbnxm.cpp
src/gromacs/nbnxm/nbnxm.h
src/gromacs/nbnxm/nbnxm_gpu.h