From 2bc9037c030b006716597e9ec91e64184482c3c4 Mon Sep 17 00:00:00 2001 From: Artem Zhmurov Date: Thu, 16 Sep 2021 12:18:34 +0300 Subject: [PATCH] Use a pointer to kernel parameters instead of a reference clang-tidy complains that the reference is not const. Introduces in 98b7831420261dba9746da962551eb4376c77e3a --- src/gromacs/mdlib/lincs_gpu.cpp | 2 +- src/gromacs/mdlib/lincs_gpu_internal.cu | 6 ++-- src/gromacs/mdlib/lincs_gpu_internal.h | 2 +- src/gromacs/mdlib/lincs_gpu_internal_sycl.cpp | 28 +++++++++---------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/gromacs/mdlib/lincs_gpu.cpp b/src/gromacs/mdlib/lincs_gpu.cpp index 001bea2fb5..e42c712cea 100644 --- a/src/gromacs/mdlib/lincs_gpu.cpp +++ b/src/gromacs/mdlib/lincs_gpu.cpp @@ -92,7 +92,7 @@ void LincsGpu::apply(const DeviceBuffer& d_x, kernelParams_.pbcAiuc = pbcAiuc; launchLincsGpuKernel( - kernelParams_, d_x, d_xp, updateVelocities, d_v, invdt, computeVirial, deviceStream_); + &kernelParams_, d_x, d_xp, updateVelocities, d_v, invdt, computeVirial, deviceStream_); if (computeVirial) { diff --git a/src/gromacs/mdlib/lincs_gpu_internal.cu b/src/gromacs/mdlib/lincs_gpu_internal.cu index 8f854f604a..ccd9e0a6a7 100644 --- a/src/gromacs/mdlib/lincs_gpu_internal.cu +++ b/src/gromacs/mdlib/lincs_gpu_internal.cu @@ -407,7 +407,7 @@ inline auto getLincsKernelPtr(const bool updateVelocities, const bool computeVir return kernelPtr; } -void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, +void launchLincsGpuKernel(LincsGpuKernelParameters* kernelParams, const DeviceBuffer& d_x, DeviceBuffer d_xp, const bool updateVelocities, @@ -423,7 +423,7 @@ void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, config.blockSize[0] = c_threadsPerBlock; config.blockSize[1] = 1; config.blockSize[2] = 1; - config.gridSize[0] = (kernelParams.numConstraintsThreads + c_threadsPerBlock - 1) / c_threadsPerBlock; + config.gridSize[0] = (kernelParams->numConstraintsThreads + c_threadsPerBlock - 1) / c_threadsPerBlock; config.gridSize[1] = 1; config.gridSize[2] = 1; @@ -445,7 +445,7 @@ void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, const auto kernelArgs = prepareGpuKernelArguments(kernelPtr, config, - &kernelParams, + kernelParams, asFloat3Pointer(&d_x), asFloat3Pointer(&d_xp), asFloat3Pointer(&d_v), diff --git a/src/gromacs/mdlib/lincs_gpu_internal.h b/src/gromacs/mdlib/lincs_gpu_internal.h index e0bd088f04..1dc41f7164 100644 --- a/src/gromacs/mdlib/lincs_gpu_internal.h +++ b/src/gromacs/mdlib/lincs_gpu_internal.h @@ -68,7 +68,7 @@ constexpr static int c_threadsPerBlock = 256; * \param computeVirial Whether to compute the virial. * \param deviceStream Device stream for kernel launch. */ -void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, +void launchLincsGpuKernel(LincsGpuKernelParameters* kernelParams, const DeviceBuffer& d_x, DeviceBuffer d_xp, bool updateVelocities, diff --git a/src/gromacs/mdlib/lincs_gpu_internal_sycl.cpp b/src/gromacs/mdlib/lincs_gpu_internal_sycl.cpp index 671a9a1825..3c39f43f4b 100644 --- a/src/gromacs/mdlib/lincs_gpu_internal_sycl.cpp +++ b/src/gromacs/mdlib/lincs_gpu_internal_sycl.cpp @@ -514,7 +514,7 @@ launchLincsKernel(bool updateVelocities, bool computeVirial, bool haveCoupledCon } -void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, +void launchLincsGpuKernel(LincsGpuKernelParameters* kernelParams, const DeviceBuffer& d_x, DeviceBuffer d_xp, const bool updateVelocities, @@ -531,24 +531,24 @@ void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams, launchLincsKernel(updateVelocities, computeVirial, - kernelParams.haveCoupledConstraints, + kernelParams->haveCoupledConstraints, deviceStream, - kernelParams.numConstraintsThreads, - kernelParams.d_constraints, - kernelParams.d_constraintsTargetLengths, - kernelParams.d_coupledConstraintsCounts, - kernelParams.d_coupledConstraintsIndices, - kernelParams.d_massFactors, - kernelParams.d_matrixA, - kernelParams.d_inverseMasses, - kernelParams.numIterations, - kernelParams.expansionOrder, + kernelParams->numConstraintsThreads, + kernelParams->d_constraints, + kernelParams->d_constraintsTargetLengths, + kernelParams->d_coupledConstraintsCounts, + kernelParams->d_coupledConstraintsIndices, + kernelParams->d_massFactors, + kernelParams->d_matrixA, + kernelParams->d_inverseMasses, + kernelParams->numIterations, + kernelParams->expansionOrder, d_x, d_xpAsFloat, invdt, d_vAsFloat, - kernelParams.d_virialScaled, - kernelParams.pbcAiuc); + kernelParams->d_virialScaled, + kernelParams->pbcAiuc); return; } -- 2.22.0