StandardPreconditioners_gpu_serial.hpp
Go to the documentation of this file.
57 using GPUJac = typename gpuistl::GpuJac<M, gpuistl::GpuVector<field_type>, gpuistl::GpuVector<field_type>>;
66 // Note that this dispatching is not needed in the future, since we will have a constructor taking GPU matrices directly.
67 F::addCreator("OPMILU0", [](const O& op, [[maybe_unused]] const P& prm, const std::function<V()>&, std::size_t) {
74 typename gpuistl::OpmGpuILU0<CPUMatrixType, gpuistl::GpuVector<field_type>, gpuistl::GpuVector<field_type>>;
76 return std::make_shared<GPUILU0>(op.getmat(), cpuMatrix, split_matrix, tune_gpu_kernels, mixed_precision_scheme);
80 F::addCreator("DILU", [](const O& op, [[maybe_unused]] const P& prm, const std::function<V()>&, std::size_t) {
87 typename gpuistl::GpuDILU<CPUMatrixType, gpuistl::GpuVector<field_type>, gpuistl::GpuVector<field_type>>;
88 return std::make_shared<GPUDILU>(op.getmat(), cpuMatrix, split_matrix, tune_gpu_kernels, mixed_precision_scheme);
116 Dune::BCRSMatrix<BlockType> matrix(N, N, numberOfNonZeroes, Dune::BCRSMatrix<BlockType>::row_wise);
156 const auto cpuMatrix = makeCPUMatrix<Dune::FieldMatrix<field_type, blocksizeCompileTime, blocksizeCompileTime>>(op);
163 throw std::runtime_error(fmt::format("Unsupported block size: {}. Max blocksize supported is {}.", op.getmat().blockSize(), maxblocksize));
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: fvbaseprimaryvariables.hh:141 Definition: blackoilboundaryratevector.hh:39 static void add() Definition: StandardPreconditioners_gpu_serial.hpp:46 typename F::Matrix M Definition: StandardPreconditioners_gpu_serial.hpp:38 typename V::field_type field_type Definition: StandardPreconditioners_gpu_serial.hpp:43 Dune::Amg::SequentialInformation C Definition: StandardPreconditioners_gpu_serial.hpp:36 Operator O Definition: StandardPreconditioners_gpu_serial.hpp:35 typename F::PrecPtr PrecPtr Definition: StandardPreconditioners_gpu_serial.hpp:41 typename F::Vector V Definition: StandardPreconditioners_gpu_serial.hpp:39 Definition: StandardPreconditioners_mpi.hpp:128 |