GPU Coordinate PME/PP Communications
authorAlan Gray <alang@nvidia.com>
Fri, 6 Sep 2019 07:00:12 +0000 (00:00 -0700)
committerSzilárd Páll <pall.szilard@gmail.com>
Mon, 21 Oct 2019 09:32:32 +0000 (11:32 +0200)
commitc5595a8e5dff438217d6da47f2785ab3b2120357
tree092962dd0bdfd2245db0433876418a571cbfa2bd
parent17175faa49085a0890db2ec10f6a3f8484d42d32
GPU Coordinate PME/PP Communications

Extends PmePpCommGpu class to provide PP-side support for coordinate
transfers from either GPU or CPU to PME task, and adds new
PmeCoordinateReceiverGpu class to recieve coordinate data directly to
the GPU on the PME task.

Implements part of #2817
Refs TODOs #3157 #3158 #3159

Change-Id: Iefa2bdfd9813282ad8b07feeb7691f16880e61a2
14 files changed:
src/gromacs/ewald/CMakeLists.txt
src/gromacs/ewald/pme.h
src/gromacs/ewald/pme_coordinate_receiver_gpu.h [new file with mode: 0644]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.cpp [new file with mode: 0755]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.cu [new file with mode: 0644]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.h [new file with mode: 0644]
src/gromacs/ewald/pme_only.cpp
src/gromacs/ewald/pme_pp.cpp
src/gromacs/ewald/pme_pp_comm_gpu.h
src/gromacs/ewald/pme_pp_comm_gpu_impl.cpp
src/gromacs/ewald/pme_pp_comm_gpu_impl.cu
src/gromacs/ewald/pme_pp_comm_gpu_impl.h
src/gromacs/mdlib/forcerec.cpp
src/gromacs/mdlib/sim_util.cpp