Make NBNXM force getter available in all backends
authorArtem Zhmurov <zhmurov@gmail.com>
Mon, 17 May 2021 07:58:53 +0000 (07:58 +0000)
committerArtem Zhmurov <zhmurov@gmail.com>
Mon, 17 May 2021 07:58:53 +0000 (07:58 +0000)
src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu
src/gromacs/nbnxm/gpu_data_mgmt.h
src/gromacs/nbnxm/nbnxm_gpu_data_mgmt.cpp

index 3477f2e19251e1ab49f0efae43f18c9b9df6057d..1db33caf3e0d093415d5908f36ea3a4919be79e7 100644 (file)
@@ -116,13 +116,6 @@ void* gpu_get_xq(NbnxmGpu* nb)
     return static_cast<void*>(nb->atdat->xq);
 }
 
-DeviceBuffer<gmx::RVec> gpu_get_f(NbnxmGpu* nb)
-{
-    assert(nb);
-
-    return reinterpret_cast<DeviceBuffer<gmx::RVec>>(nb->atdat->f);
-}
-
 DeviceBuffer<gmx::RVec> gpu_get_fshift(NbnxmGpu* nb)
 {
     assert(nb);
index a27ebf07d4f3c46cf852f15e35855e13d01884a7..5d5e7956dd6ac32a51b0074363abf0fe2579378a 100644 (file)
@@ -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<gmx::RVec> gpu_get_f(NbnxmGpu gmx_unused* nb)
-        CUDA_FUNC_TERM_WITH_RETURN(DeviceBuffer<gmx::RVec>{});
+        GPU_FUNC_TERM_WITH_RETURN(DeviceBuffer<gmx::RVec>{});
 
 /** Returns an opaque pointer to the GPU shift force array
  *  Note: CUDA only.
index ce93e61e01f5988e26056fbd0ac16140684b3c3a..41c107deeaa3a0c8b2470cfeb7b12f3f3330059a 100644 (file)
@@ -1182,4 +1182,11 @@ void gpu_free(NbnxmGpu* nb)
     }
 }
 
+DeviceBuffer<gmx::RVec> gpu_get_f(NbnxmGpu* nb)
+{
+    GMX_ASSERT(nb != nullptr, "nb pointer must be valid");
+
+    return nb->atdat->f;
+}
+
 } // namespace Nbnxm