16 #ifndef dealii_cuda_precondition_h 17 #define dealii_cuda_precondition_h 19 #include <deal.II/base/config.h> 21 #include <deal.II/base/cuda.h> 22 #include <deal.II/base/smartpointer.h> 26 #ifdef DEAL_II_COMPILER_CUDA_AWARE 28 DEAL_II_NAMESPACE_OPEN
35 template <
typename Number>
43 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;
276 template <
typename Number>
421 std::unique_ptr<Number[], void (*)(Number *)>
P_val_dev;
439 std::unique_ptr<Number[], void (*)(Number *)>
tmp_dev;
483 template <
typename Number>
492 template <
typename Number>
501 template <
typename Number>
510 template <
typename Number>
520 DEAL_II_NAMESPACE_CLOSE
522 #endif // DEAL_II_WITH_CUDA 524 #endif // dealii_cuda_precondition_h
cusparseMatDescr_t descr_L
std::unique_ptr< void, void(*)(void *)> buffer_dev
cusparseHandle_t cusparse_handle
cusparseMatDescr_t descr_L
cusparseSolvePolicy_t policy_L
void vmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
void initialize(const SparseMatrix< Number > &matrix, const AdditionalData &additional_data=AdditionalData())
cusparseSolvePolicy_t policy_L
PreconditionIC & operator=(const PreconditionIC< Number > &)=delete
cusparseHandle_t cusparse_handle
PreconditionILU & operator=(const PreconditionILU< Number > &)=delete
const int * P_column_index_dev
AdditionalData(bool use_level_analysis=true)
SmartPointer< const SparseMatrix< Number > > matrix_pointer
cusparseSolvePolicy_t policy_M
cusparseSolvePolicy_t policy_Lt
SmartPointer< const SparseMatrix< Number > > matrix_pointer
AdditionalData(bool use_level_analysis=true)
cusparseMatDescr_t descr_M
cusparseSolvePolicy_t policy_M
void Tvmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
std::unique_ptr< Number[], void(*)(Number *)> P_val_dev
const int * P_row_ptr_dev
cusparseMatDescr_t descr_U
std::unique_ptr< Number[], void(*)(Number *)> tmp_dev
void vmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
void Tvmult(LinearAlgebra::CUDAWrappers::Vector< Number > &dst, const LinearAlgebra::CUDAWrappers::Vector< Number > &src) const
const int * P_column_index_dev
PreconditionILU(const Utilities::CUDA::Handle &handle)
PreconditionIC(const Utilities::CUDA::Handle &handle)
const int * P_row_ptr_dev
void initialize(const SparseMatrix< Number > &matrix, const AdditionalData &additional_data=AdditionalData())
std::unique_ptr< Number[], void(*)(Number *)> P_val_dev
cusparseMatDescr_t descr_M
cusparseSolvePolicy_t policy_U
std::unique_ptr< void, void(*)(void *)> buffer_dev
std::unique_ptr< Number[], void(*)(Number *)> tmp_dev