GPU Coordinate PME/PP Communications
commitc5595a8e5dff438217d6da47f2785ab3b2120357
authorAlan Gray <alang@nvidia.com>
Fri, 6 Sep 2019 07:00:12 +0000 (6 00:00 -0700)
committerSzilárd Páll <pall.szilard@gmail.com>
Mon, 21 Oct 2019 09:32:32 +0000 (21 11:32 +0200)
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 [copied from src/gromacs/ewald/pme_pp_comm_gpu.h with 63% similarity]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.cpp [copied from src/gromacs/ewald/pme_pp_comm_gpu_impl.cpp with 76% similarity]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.cu [new file with mode: 0644]
src/gromacs/ewald/pme_coordinate_receiver_gpu_impl.h [copied from src/gromacs/ewald/pme_pp_comm_gpu.h with 57% similarity]
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