16#ifndef dealii_cuda_precondition_h
17#define dealii_cuda_precondition_h
26#ifdef DEAL_II_COMPILER_CUDA_AWARE
36 template <
typename Number>
45 template <
typename Number>
61 template <
typename Number>
202 std::unique_ptr<Number[], void (*)(Number *)>
P_val_dev;
220 std::unique_ptr<Number[], void (*)(Number *)>
tmp_dev;
274 template <
typename Number>
419 std::unique_ptr<Number[], void (*)(Number *)>
P_val_dev;
437 std::unique_ptr<Number[], void (*)(Number *)>
tmp_dev;
481 template <
typename Number>
490 template <
typename Number>
499 template <
typename Number>
508 template <
typename Number>
cusparseSolvePolicy_t policy_M
std::unique_ptr< Number[], void(*)(Number *)> P_val_dev
void Tvmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
std::unique_ptr< Number[], void(*)(Number *)> tmp_dev
PreconditionIC & operator=(const PreconditionIC< Number > &)=delete
const int * P_row_ptr_dev
void initialize(const SparseMatrix< Number > &matrix, const AdditionalData &additional_data=AdditionalData())
cusparseSolvePolicy_t policy_Lt
const int * P_column_index_dev
cusparseSolvePolicy_t policy_L
void vmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
PreconditionIC(const Utilities::CUDA::Handle &handle)
SmartPointer< const SparseMatrix< Number > > matrix_pointer
std::unique_ptr< void, void(*)(void *)> buffer_dev
cusparseHandle_t cusparse_handle
cusparseMatDescr_t descr_L
cusparseMatDescr_t descr_M
PreconditionIC(const PreconditionIC< Number > &)=delete
cusparseMatDescr_t descr_U
const int * P_row_ptr_dev
cusparseSolvePolicy_t policy_M
void vmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
PreconditionILU(const PreconditionILU< Number > &)=delete
std::unique_ptr< void, void(*)(void *)> buffer_dev
void initialize(const SparseMatrix< Number > &matrix, const AdditionalData &additional_data=AdditionalData())
cusparseMatDescr_t descr_M
cusparseHandle_t cusparse_handle
cusparseSolvePolicy_t policy_U
SmartPointer< const SparseMatrix< Number > > matrix_pointer
PreconditionILU(const Utilities::CUDA::Handle &handle)
std::unique_ptr< Number[], void(*)(Number *)> P_val_dev
std::unique_ptr< Number[], void(*)(Number *)> tmp_dev
const int * P_column_index_dev
PreconditionILU & operator=(const PreconditionILU< Number > &)=delete
void Tvmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
cusparseMatDescr_t descr_L
cusparseSolvePolicy_t policy_L
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
@ matrix
Contents is actually a matrix.
AdditionalData(bool use_level_analysis=true)
AdditionalData(bool use_level_analysis=true)