From 4cbaad4f09fcb0a409ab72d3f505b165ad0c8c99 Mon Sep 17 00:00:00 2001 From: Artem Zhmurov Date: Thu, 9 Jan 2020 17:51:19 +0100 Subject: [PATCH] Rename SettleCuda to SettleGpu This is to folow general naming conventions across the code. Refs #2886, #2888. Change-Id: I273cf8c1cabcf59d1cb7fd7f0028c3c1cd8619c8 --- src/gromacs/mdlib/CMakeLists.txt | 4 ++-- .../mdlib/{settle_cuda.cu => settle_gpu.cu} | 27 +++++++++++----------- .../mdlib/{settle_cuda.cuh => settle_gpu.cuh} | 20 ++++++++-------- src/gromacs/mdlib/tests/settletestrunners.cu | 12 +++++----- src/gromacs/mdlib/update_constrain_cuda_impl.cu | 8 +++---- src/gromacs/mdlib/update_constrain_cuda_impl.h | 4 ++-- 6 files changed, 37 insertions(+), 38 deletions(-) rename src/gromacs/mdlib/{settle_cuda.cu => settle_gpu.cu} (97%) rename src/gromacs/mdlib/{settle_cuda.cuh => settle_gpu.cuh} (95%) diff --git a/src/gromacs/mdlib/CMakeLists.txt b/src/gromacs/mdlib/CMakeLists.txt index 026ed3fe84..daffc92d96 100644 --- a/src/gromacs/mdlib/CMakeLists.txt +++ b/src/gromacs/mdlib/CMakeLists.txt @@ -41,9 +41,9 @@ if (BUILD_TESTING) endif() if(GMX_USE_CUDA) gmx_add_libgromacs_sources( - lincs_gpu.cu - settle_cuda.cu leapfrog_gpu.cu + lincs_gpu.cu + settle_gpu.cu update_constrain_cuda_impl.cu ) endif() diff --git a/src/gromacs/mdlib/settle_cuda.cu b/src/gromacs/mdlib/settle_gpu.cu similarity index 97% rename from src/gromacs/mdlib/settle_cuda.cu rename to src/gromacs/mdlib/settle_gpu.cu index 7a41133999..2707d1744b 100644 --- a/src/gromacs/mdlib/settle_cuda.cu +++ b/src/gromacs/mdlib/settle_gpu.cu @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2019, by the GROMACS development team, led by + * Copyright (c) 2019,2020, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -40,7 +40,6 @@ * using CUDA, including class initialization, data-structures management * and GPU kernel. * - * \todo Reconsider naming to use "gpu" suffix instead of "cuda". * * \author Artem Zhmurov * @@ -48,7 +47,7 @@ */ #include "gmxpre.h" -#include "settle_cuda.cuh" +#include "settle_gpu.cuh" #include #include @@ -413,14 +412,14 @@ inline auto getSettleKernelPtr(const bool updateVelocities, const bool computeVi return kernelPtr; } -void SettleCuda::apply(const float3* d_x, - float3* d_xp, - const bool updateVelocities, - float3* d_v, - const real invdt, - const bool computeVirial, - tensor virialScaled, - const PbcAiuc pbcAiuc) +void SettleGpu::apply(const float3* d_x, + float3* d_xp, + const bool updateVelocities, + float3* d_v, + const real invdt, + const bool computeVirial, + tensor virialScaled, + const PbcAiuc pbcAiuc) { ensureNoPendingCudaError("In CUDA version SETTLE"); @@ -486,7 +485,7 @@ void SettleCuda::apply(const float3* d_x, return; } -SettleCuda::SettleCuda(const gmx_mtop_t& mtop, CommandStream commandStream) : +SettleGpu::SettleGpu(const gmx_mtop_t& mtop, CommandStream commandStream) : commandStream_(commandStream) { static_assert(sizeof(real) == sizeof(float), @@ -591,7 +590,7 @@ SettleCuda::SettleCuda(const gmx_mtop_t& mtop, CommandStream commandStream) : h_virialScaled_.resize(6); } -SettleCuda::~SettleCuda() +SettleGpu::~SettleGpu() { // Early exit if there is no settles if (numSettles_ == 0) @@ -605,7 +604,7 @@ SettleCuda::~SettleCuda() } } -void SettleCuda::set(const t_idef& idef, const t_mdatoms gmx_unused& md) +void SettleGpu::set(const t_idef& idef, const t_mdatoms gmx_unused& md) { const int nral1 = 1 + NRAL(F_SETTLE); t_ilist il_settle = idef.il[F_SETTLE]; diff --git a/src/gromacs/mdlib/settle_cuda.cuh b/src/gromacs/mdlib/settle_gpu.cuh similarity index 95% rename from src/gromacs/mdlib/settle_cuda.cuh rename to src/gromacs/mdlib/settle_gpu.cuh index ca66615612..a22f9cb670 100644 --- a/src/gromacs/mdlib/settle_cuda.cuh +++ b/src/gromacs/mdlib/settle_gpu.cuh @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2019, by the GROMACS development team, led by + * Copyright (c) 2019,2020, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -34,14 +34,14 @@ */ /*! \internal \file * - * \brief Declares class for CUDA implementation of SETTLE + * \brief Declares class for GPU implementation of SETTLE * * \author Artem Zhmurov * * \ingroup module_mdlib */ -#ifndef GMX_MDLIB_SETTLE_CUDA_CUH -#define GMX_MDLIB_SETTLE_CUDA_CUH +#ifndef GMX_MDLIB_SETTLE_GPU_CUH +#define GMX_MDLIB_SETTLE_GPU_CUH #include "gmxpre.h" @@ -185,8 +185,8 @@ gmx_unused // Temporary solution to keep clang happy initializeProjectionMatrix(invmO, invmH, dOH, dHH, p->invmat); } -/*! \internal \brief Class with interfaces and data for CUDA version of SETTLE. */ -class SettleCuda +/*! \internal \brief Class with interfaces and data for GPU version of SETTLE. */ +class SettleGpu { public: @@ -201,9 +201,9 @@ public: * consistency. * \param[in] commandStream Device stream to use. */ - SettleCuda(const gmx_mtop_t& mtop, CommandStream commandStream); + SettleGpu(const gmx_mtop_t& mtop, CommandStream commandStream); - ~SettleCuda(); + ~SettleGpu(); /*! \brief Apply SETTLE. * @@ -249,7 +249,7 @@ public: void set(const t_idef& idef, const t_mdatoms& md); private: - //! CUDA stream + //! GPU stream CommandStream commandStream_; //! Scaled virial tensor (9 reals, GPU) @@ -275,4 +275,4 @@ private: } // namespace gmx -#endif +#endif // GMX_MDLIB_SETTLE_GPU_CUH diff --git a/src/gromacs/mdlib/tests/settletestrunners.cu b/src/gromacs/mdlib/tests/settletestrunners.cu index b882338990..bbf1083507 100644 --- a/src/gromacs/mdlib/tests/settletestrunners.cu +++ b/src/gromacs/mdlib/tests/settletestrunners.cu @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2018,2019, by the GROMACS development team, led by + * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -53,7 +53,7 @@ #include "gromacs/gpu_utils/devicebuffer.cuh" #include "gromacs/gpu_utils/gpu_utils.h" -#include "gromacs/mdlib/settle_cuda.cuh" +#include "gromacs/mdlib/settle_gpu.cuh" #include "gromacs/utility/unique_cptr.h" namespace gmx @@ -86,9 +86,9 @@ void applySettleGpu(SettleTestData* testData, // TODO: Here we should check that at least 1 suitable GPU is available GMX_RELEASE_ASSERT(canPerformGpuDetection(), "Can't detect CUDA-capable GPUs."); - auto settleCuda = std::make_unique(testData->mtop_, nullptr); + auto settleGpu = std::make_unique(testData->mtop_, nullptr); - settleCuda->set(testData->idef_, testData->mdatoms_); + settleGpu->set(testData->idef_, testData->mdatoms_); PbcAiuc pbcAiuc; setPbcAiuc(pbc.ndim_ePBC, pbc.box, &pbcAiuc); @@ -110,8 +110,8 @@ void applySettleGpu(SettleTestData* testData, { copyToDeviceBuffer(&d_v, (float3*)h_v, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr); } - settleCuda->apply(d_x, d_xp, updateVelocities, d_v, testData->reciprocalTimeStep_, calcVirial, - testData->virial_, pbcAiuc); + settleGpu->apply(d_x, d_xp, updateVelocities, d_v, testData->reciprocalTimeStep_, calcVirial, + testData->virial_, pbcAiuc); copyFromDeviceBuffer((float3*)h_xp, &d_xp, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr); if (updateVelocities) diff --git a/src/gromacs/mdlib/update_constrain_cuda_impl.cu b/src/gromacs/mdlib/update_constrain_cuda_impl.cu index 0d227d3954..067920cb41 100644 --- a/src/gromacs/mdlib/update_constrain_cuda_impl.cu +++ b/src/gromacs/mdlib/update_constrain_cuda_impl.cu @@ -62,7 +62,7 @@ #include "gromacs/gpu_utils/vectype_ops.cuh" #include "gromacs/mdlib/leapfrog_gpu.cuh" #include "gromacs/mdlib/lincs_gpu.cuh" -#include "gromacs/mdlib/settle_cuda.cuh" +#include "gromacs/mdlib/settle_gpu.cuh" #include "gromacs/mdlib/update_constrain_cuda.h" namespace gmx @@ -128,7 +128,7 @@ void UpdateConstrainCuda::Impl::integrate(GpuEventSynchronizer* fRea // are applied, the d_x_ can be discarded. So we intentionally swap the d_x_ and d_xp_ here to avoid the // d_xp_ -> d_x_ copy after constraints. Note that the integrate saves them in the wrong order as well. lincsGpu_->apply(d_xp_, d_x_, updateVelocities, d_v_, 1.0 / dt, computeVirial, virial, pbcAiuc_); - settleCuda_->apply(d_xp_, d_x_, updateVelocities, d_v_, 1.0 / dt, computeVirial, virial, pbcAiuc_); + settleGpu_->apply(d_xp_, d_x_, updateVelocities, d_v_, 1.0 / dt, computeVirial, virial, pbcAiuc_); // scaledVirial -> virial (methods above returns scaled values) float scaleFactor = 0.5f / (dt * dt); @@ -177,7 +177,7 @@ UpdateConstrainCuda::Impl::Impl(const t_inputrec& ir, integrator_ = std::make_unique(commandStream_); lincsGpu_ = std::make_unique(ir.nLincsIter, ir.nProjOrder, commandStream_); - settleCuda_ = std::make_unique(mtop, commandStream_); + settleGpu_ = std::make_unique(mtop, commandStream_); coordinateScalingKernelLaunchConfig_.blockSize[0] = c_threadsPerBlock; coordinateScalingKernelLaunchConfig_.blockSize[1] = 1; @@ -213,7 +213,7 @@ void UpdateConstrainCuda::Impl::set(DeviceBuffer d_x, // Integrator should also update something, but it does not even have a method yet integrator_->set(md, numTempScaleValues, md.cTC); lincsGpu_->set(idef, md); - settleCuda_->set(idef, md); + settleGpu_->set(idef, md); coordinateScalingKernelLaunchConfig_.gridSize[0] = (numAtoms_ + c_threadsPerBlock - 1) / c_threadsPerBlock; diff --git a/src/gromacs/mdlib/update_constrain_cuda_impl.h b/src/gromacs/mdlib/update_constrain_cuda_impl.h index 5530c38c0a..dcb48f9ca7 100644 --- a/src/gromacs/mdlib/update_constrain_cuda_impl.h +++ b/src/gromacs/mdlib/update_constrain_cuda_impl.h @@ -51,7 +51,7 @@ #include "gromacs/gpu_utils/gpueventsynchronizer.cuh" #include "gromacs/mdlib/leapfrog_gpu.cuh" #include "gromacs/mdlib/lincs_gpu.cuh" -#include "gromacs/mdlib/settle_cuda.cuh" +#include "gromacs/mdlib/settle_gpu.cuh" #include "gromacs/mdlib/update_constrain_cuda.h" #include "gromacs/mdtypes/inputrec.h" @@ -201,7 +201,7 @@ private: //! LINCS CUDA object to use for non-water constraints std::unique_ptr lincsGpu_; //! SETTLE CUDA object for water constrains - std::unique_ptr settleCuda_; + std::unique_ptr settleGpu_; //! An pointer to the event to indicate when the update of coordinates is complete GpuEventSynchronizer* coordinatesReady_; -- 2.11.4.GIT