Make use of recent changes to prepareKernelArguments(...)
authorArtem Zhmurov <zhmurov@gmail.com>
Sun, 25 Aug 2019 18:53:38 +0000 (20:53 +0200)
committerArtem Zhmurov <zhmurov@gmail.com>
Sun, 25 Aug 2019 18:56:21 +0000 (20:56 +0200)
Recent change allows to avoid assigning pointers to intermediate
variables before passing them to prepareKernelArguments(...)
functions in CUDA builds.

Change-Id: I3b70d7663cbd687e9f22e0422e7baa3fcdfc1bf3

src/gromacs/mdlib/leapfrog_cuda.cu
src/gromacs/mdlib/lincs_cuda.cu
src/gromacs/mdlib/settle_cuda.cu

index bfb3afcd6f76b0ddec588df557ad84d2673a8f46..9feab1d4381662fb46a9e85dc72870be81bc713c 100644 (file)
@@ -142,18 +142,13 @@ void LeapFrogCuda::integrate(const float3 *d_x,
     config.stream           = stream_;
 
     auto          kernelPtr         = leapfrog_kernel;
-    const float3 *gm_x              = d_x;
-    float3       *gm_xp             = d_xp;
-    float3       *gm_v              = d_v;
-    const float3 *gm_f              = d_f;
-    const float  *gm_inverseMasses  = d_inverseMasses_;
 
     const auto    kernelArgs = prepareGpuKernelArguments(kernelPtr, config,
                                                          &numAtoms_,
-                                                         &gm_x, &gm_xp,
-                                                         &gm_v,
-                                                         &gm_f,
-                                                         &gm_inverseMasses, &dt);
+                                                         &d_x, &d_xp,
+                                                         &d_v,
+                                                         &d_f,
+                                                         &d_inverseMasses_, &dt);
     launchGpuKernel(kernelPtr, config, nullptr, "leapfrog_kernel", kernelArgs);
 
     return;
index df018e9e918b658ad823ec86d157c8b24774855b..8267ad9551383927ab94525fe0d4cde0d5b4cb7d 100644 (file)
@@ -480,16 +480,10 @@ void LincsCuda::apply(const float3 *d_x,
     }
     config.stream           = stream_;
 
-    // This is to satisfy prepareGpuKernelArguments(...)
-    // It there a better way?
-    const float3 * gm_x  = d_x;
-    float3       * gm_xp = d_xp;
-    float3       * gm_v  = d_v;
-
     const auto     kernelArgs = prepareGpuKernelArguments(kernelPtr, config,
                                                           &kernelParams_,
-                                                          &gm_x, &gm_xp,
-                                                          &gm_v, &invdt);
+                                                          &d_x, &d_xp,
+                                                          &d_v, &invdt);
 
     launchGpuKernel(kernelPtr, config, nullptr,
                     "lincs_kernel<updateVelocities, computeVirial>", kernelArgs);
index 633ec901771629611cdbde68448e887371dc0f12..5fa583fad8c2dd3268ec84ead0ff7a5146449e1b 100644 (file)
@@ -455,22 +455,16 @@ void SettleCuda::apply(const float3 *d_x,
     }
     config.stream           = stream_;
 
-    const int3    *gm_atomIds                  = d_atomIds_;
-    const float3  *gm_x                        = d_x;
-    float3        *gm_xp                       = d_xp;
-    float3        *gm_v                        = d_v;
-    float         *gm_virialScaled             = d_virialScaled_;
-
     const auto     kernelArgs = prepareGpuKernelArguments(kernelPtr, config,
                                                           &numSettles_,
-                                                          &gm_atomIds,
+                                                          &d_atomIds_,
                                                           &settleParameters_,
-                                                          &gm_x,
-                                                          &gm_xp,
+                                                          &d_x,
+                                                          &d_xp,
                                                           &pbcAiuc_,
                                                           &invdt,
-                                                          &gm_v,
-                                                          &gm_virialScaled);
+                                                          &d_v,
+                                                          &d_virialScaled_);
 
     launchGpuKernel(kernelPtr, config, nullptr,
                     "settle_kernel<updateVelocities, computeVirial>", kernelArgs);