From 4a6e2ffd55472807ce3ab5d5421216bc3a2133ba Mon Sep 17 00:00:00 2001 From: Artem Zhmurov Date: Mon, 17 May 2021 07:58:53 +0000 Subject: [PATCH] Make NBNXM force getter available in all backends --- src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu | 7 ------- src/gromacs/nbnxm/gpu_data_mgmt.h | 7 +++---- src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp | 7 +++++++ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu b/src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu index 3477f2e192..1db33caf3e 100644 --- a/src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu +++ b/src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu @@ -116,13 +116,6 @@ void* gpu_get_xq(NbnxmGpu* nb) return static_cast(nb->atdat->xq); } -DeviceBuffer gpu_get_f(NbnxmGpu* nb) -{ - assert(nb); - - return reinterpret_cast>(nb->atdat->f); -} - DeviceBuffer gpu_get_fshift(NbnxmGpu* nb) { assert(nb); diff --git a/src/gromacs/nbnxm/gpu_data_mgmt.h b/src/gromacs/nbnxm/gpu_data_mgmt.h index a27ebf07d4..5d5e7956dd 100644 --- a/src/gromacs/nbnxm/gpu_data_mgmt.h +++ b/src/gromacs/nbnxm/gpu_data_mgmt.h @@ -133,12 +133,11 @@ bool gpu_is_kernel_ewald_analytical(const NbnxmGpu gmx_unused* nb) GPU_FUNC_TERM CUDA_FUNC_QUALIFIER void* gpu_get_xq(NbnxmGpu gmx_unused* nb) CUDA_FUNC_TERM_WITH_RETURN(nullptr); -/** Returns an opaque pointer to the GPU force array - * Note: CUDA only. +/** Returns forces device buffer. */ -CUDA_FUNC_QUALIFIER +GPU_FUNC_QUALIFIER DeviceBuffer gpu_get_f(NbnxmGpu gmx_unused* nb) - CUDA_FUNC_TERM_WITH_RETURN(DeviceBuffer{}); + GPU_FUNC_TERM_WITH_RETURN(DeviceBuffer{}); /** Returns an opaque pointer to the GPU shift force array * Note: CUDA only. diff --git a/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp b/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp index ce93e61e01..41c107deea 100644 --- a/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp +++ b/src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp @@ -1182,4 +1182,11 @@ void gpu_free(NbnxmGpu* nb) } } +DeviceBuffer gpu_get_f(NbnxmGpu* nb) +{ + GMX_ASSERT(nb != nullptr, "nb pointer must be valid"); + + return nb->atdat->f; +} + } // namespace Nbnxm -- 2.22.0