StandardPreconditioners_gpu_mpi.hpp
Go to the documentation of this file.
39struct StandardPreconditioners<Operator, Comm, typename std::enable_if_t<Opm::is_gpu_operator_v<Operator>>>
56 F::addCreator("ilu0", [](const O& op, const P& prm, const std::function<V()>&, std::size_t, const C& comm) {
63 F::addCreator("jac", [](const O& op, const P& prm, const std::function<V()>&, std::size_t, const C& comm) {
70 F::addCreator("dilu", [](const O& op, [[maybe_unused]] const P& prm, const std::function<V()>&, std::size_t, const C& comm) -> PrecPtr {
73 const auto cpuMatrix = gpuistl::detail::makeCPUMatrix<O, Dune::FieldMatrix<field_type, blockSize, blockSize>>(op);
80 auto gpuPrec = std::make_shared<GPUDILU>(op.getmat(), cpuMatrix, split_matrix, tune_gpu_kernels, mixed_precision_scheme, reorder);
85 F::addCreator("opmilu0", [](const O& op, [[maybe_unused]] const P& prm, const std::function<V()>&, std::size_t, const C& comm) -> PrecPtr {
88 const auto cpuMatrix = gpuistl::detail::makeCPUMatrix<O, Dune::FieldMatrix<field_type, blockSize, blockSize>>(op);
94 auto gpuPrec = std::make_shared<GPUILU0>(op.getmat(), cpuMatrix, split_matrix, tune_gpu_kernels, mixed_precision_scheme);
Definition: PreconditionerFactory.hpp:64 typename Operator::domain_type Vector Definition: PreconditionerFactory.hpp:68 std::shared_ptr< Dune::PreconditionerWithUpdate< Vector, Vector > > PrecPtr The type of pointer returned by create(). Definition: PreconditionerFactory.hpp:71 typename Operator::matrix_type Matrix Linear algebra types. Definition: PreconditionerFactory.hpp:67 T get(const std::string &key) const Sequential ILU0 preconditioner on the GPU through the CuSparse library. Definition: GpuSeqILU0.hpp:52 Definition: blackoilbioeffectsmodules.hh:43 typename F::Matrix M Definition: StandardPreconditioners_gpu_mpi.hpp:44 typename F::Vector V Definition: StandardPreconditioners_gpu_mpi.hpp:45 static void add() Definition: StandardPreconditioners_gpu_mpi.hpp:53 typename V::field_type field_type Definition: StandardPreconditioners_gpu_mpi.hpp:49 typename F::PrecPtr PrecPtr Definition: StandardPreconditioners_gpu_mpi.hpp:47 Operator O Definition: StandardPreconditioners_gpu_mpi.hpp:41 Comm C Definition: StandardPreconditioners_gpu_mpi.hpp:42 Definition: StandardPreconditioners_mpi.hpp:132 |