diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index c1b432909..02cbc0922 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -261,7 +261,7 @@ if (HAVE_CUDA) ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg PreconditionerConvertFieldTypeAdapter.hpp) ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg CuOwnerOverlapCopy.hpp) ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg SolverAdapter.hpp) - ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg CuBlockPreconditioner.hpp) + ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg GpuBlockPreconditioner.hpp) ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg PreconditionerHolder.hpp) ADD_CUDA_OR_HIP_FILE(PUBLIC_HEADER_FILES opm/simulators/linalg set_device.hpp) endif() diff --git a/opm/simulators/linalg/PreconditionerFactoryGPUIncludeWrapper.hpp b/opm/simulators/linalg/PreconditionerFactoryGPUIncludeWrapper.hpp index 82aa313a8..455c5a444 100644 --- a/opm/simulators/linalg/PreconditionerFactoryGPUIncludeWrapper.hpp +++ b/opm/simulators/linalg/PreconditionerFactoryGPUIncludeWrapper.hpp @@ -22,7 +22,7 @@ // both with the normal cuistl path, and the hipistl path #if HAVE_CUDA #if USE_HIP -#include +#include #include #include #include @@ -31,7 +31,7 @@ #include #include #else -#include +#include #include #include #include diff --git a/opm/simulators/linalg/PreconditionerFactory_impl.hpp b/opm/simulators/linalg/PreconditionerFactory_impl.hpp index eab30a3a6..0ed82b1eb 100644 --- a/opm/simulators/linalg/PreconditionerFactory_impl.hpp +++ b/opm/simulators/linalg/PreconditionerFactory_impl.hpp @@ -330,7 +330,7 @@ struct StandardPreconditioners { auto cuILU0 = std::make_shared(op.getmat(), w); auto adapted = std::make_shared>(cuILU0); - auto wrapped = std::make_shared>(adapted, comm); + auto wrapped = std::make_shared>(adapted, comm); return wrapped; }); @@ -342,7 +342,7 @@ struct StandardPreconditioners { auto cuJac = std::make_shared(op.getmat(), w); auto adapted = std::make_shared>(cuJac); - auto wrapped = std::make_shared>(adapted, comm); + auto wrapped = std::make_shared>(adapted, comm); return wrapped; }); @@ -354,7 +354,7 @@ struct StandardPreconditioners { auto cuDILU = std::make_shared(op.getmat(), split_matrix, tune_gpu_kernels); auto adapted = std::make_shared>(cuDILU); - auto wrapped = std::make_shared>(adapted, comm); + auto wrapped = std::make_shared>(adapted, comm); return wrapped; }); @@ -366,7 +366,7 @@ struct StandardPreconditioners { auto cuilu0 = std::make_shared(op.getmat(), split_matrix, tune_gpu_kernels); auto adapted = std::make_shared>(cuilu0); - auto wrapped = std::make_shared>(adapted, comm); + auto wrapped = std::make_shared>(adapted, comm); return wrapped; }); #endif diff --git a/opm/simulators/linalg/cuistl/CuBlockPreconditioner.hpp b/opm/simulators/linalg/cuistl/GpuBlockPreconditioner.hpp similarity index 90% rename from opm/simulators/linalg/cuistl/CuBlockPreconditioner.hpp rename to opm/simulators/linalg/cuistl/GpuBlockPreconditioner.hpp index a08eb8d97..448c05266 100644 --- a/opm/simulators/linalg/cuistl/CuBlockPreconditioner.hpp +++ b/opm/simulators/linalg/cuistl/GpuBlockPreconditioner.hpp @@ -16,8 +16,8 @@ You should have received a copy of the GNU General Public License along with OPM. If not, see . */ -#ifndef OPM_CUISTL_CUBLOCKPRECONDITIONER_HPP -#define OPM_CUISTL_CUBLOCKPRECONDITIONER_HPP +#ifndef OPM_CUISTL_GPUBLOCKPRECONDITIONER_HPP +#define OPM_CUISTL_GPUBLOCKPRECONDITIONER_HPP #include #include @@ -31,7 +31,7 @@ namespace Opm::gpuistl //! //! @note We aim to intgrate this into OwningBlockPreconditioner (or a relative thereof). template > -class CuBlockPreconditioner : public Dune::PreconditionerWithUpdate, public PreconditionerHolder +class GpuBlockPreconditioner : public Dune::PreconditionerWithUpdate, public PreconditionerHolder { public: using domain_type = X; @@ -47,13 +47,13 @@ public: //! @param c The communication object for syncing overlap and copy //! data points. (E.~g. OwnerOverlapCopyCommunication ) //! - CuBlockPreconditioner(const std::shared_ptr

& p, const std::shared_ptr& c) + GpuBlockPreconditioner(const std::shared_ptr

& p, const std::shared_ptr& c) : m_preconditioner(p) , m_communication(c) { } - CuBlockPreconditioner(const std::shared_ptr

& p, const communication_type& c) + GpuBlockPreconditioner(const std::shared_ptr

& p, const communication_type& c) : m_preconditioner(p) , m_communication(Dune::stackobject_to_shared_ptr(c)) { diff --git a/opm/simulators/linalg/cuistl/SolverAdapter.hpp b/opm/simulators/linalg/cuistl/SolverAdapter.hpp index 2a70474e2..28d2e460d 100644 --- a/opm/simulators/linalg/cuistl/SolverAdapter.hpp +++ b/opm/simulators/linalg/cuistl/SolverAdapter.hpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -149,7 +149,7 @@ private: OPM_THROW(std::invalid_argument, "The preconditioner needs to be a CUDA preconditioner (eg. CuILU0) wrapped in a " "Opm::gpuistl::PreconditionerAdapter wrapped in a " - "Opm::gpuistl::CuBlockPreconditioner. If you are unsure what this means, set " + "Opm::gpuistl::GpuBlockPreconditioner. If you are unsure what this means, set " "preconditioner to 'CUILU0'"); // TODO: Suggest a better preconditioner } @@ -160,7 +160,7 @@ private: OPM_THROW(std::invalid_argument, "The preconditioner needs to be a CUDA preconditioner (eg. CuILU0) wrapped in a " "Opm::gpuistl::PreconditionerAdapter wrapped in a " - "Opm::gpuistl::CuBlockPreconditioner. If you are unsure what this means, set " + "Opm::gpuistl::GpuBlockPreconditioner. If you are unsure what this means, set " "preconditioner to 'CUILU0'"); // TODO: Suggest a better preconditioner } // We need to get the underlying preconditioner: @@ -196,7 +196,7 @@ private: = Dune::OverlappingSchwarzOperator, XGPU, XGPU, CudaCommunication>; auto cudaCommunication = std::make_shared(gpuComm); - auto mpiPreconditioner = std::make_shared>( + auto mpiPreconditioner = std::make_shared>( preconditionerReallyOnGPU, cudaCommunication); auto scalarProduct = std::make_shared>( @@ -206,8 +206,8 @@ private: // NOTE: Ownsership of cudaCommunication is handled by mpiPreconditioner. However, just to make sure we // remember // this, we add this check. So remember that we hold one count in this scope, and one in the - // CuBlockPreconditioner instance. We accomedate for the fact that it could be passed around in - // CuBlockPreconditioner, hence we do not test for != 2 + // GpuBlockPreconditioner instance. We accomedate for the fact that it could be passed around in + // GpuBlockPreconditioner, hence we do not test for != 2 OPM_ERROR_IF(cudaCommunication.use_count() < 2, "Internal error. Shared pointer not owned properly."); auto overlappingCudaOperator = std::make_shared(m_matrix, *cudaCommunication);