Reference documentation for deal.II version GIT relicensing-1062-gc06da148b8 2024-07-15 19:20:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
No Matches
Classes | Public Member Functions | Private Attributes | List of all members
CUDAWrappers::SolverDirect< Number > Class Template Reference

#include <deal.II/lac/cuda_solver_direct.h>


struct  AdditionalData

Public Member Functions

 SolverDirect (const Utilities::CUDA::Handle &handle, SolverControl &cn, const AdditionalData &data=AdditionalData())
virtual ~SolverDirect ()=default
void solve (const SparseMatrix< Number > &A, LinearAlgebra::CUDAWrappers::Vector< Number > &x, const LinearAlgebra::CUDAWrappers::Vector< Number > &b)
SolverControlcontrol () const

Private Attributes

const Utilities::CUDA::Handlecuda_handle
const AdditionalData additional_data

Detailed Description

template<typename Number>
class CUDAWrappers::SolverDirect< Number >

Direct solvers. These solvers call cuSOLVER underneath.

Instantiations for this template are provided for <float> and <double>.

Definition at line 40 of file cuda_solver_direct.h.

Constructor & Destructor Documentation

◆ SolverDirect()

template<typename Number >
CUDAWrappers::SolverDirect< Number >::SolverDirect ( const Utilities::CUDA::Handle handle,
SolverControl cn,
const AdditionalData data = AdditionalData() 

Constructor. Takes the solver control object and creates the solver.

Definition at line 431 of file

◆ ~SolverDirect()

template<typename Number >
virtual CUDAWrappers::SolverDirect< Number >::~SolverDirect ( )


Member Function Documentation

◆ solve()

template<typename Number >
void CUDAWrappers::SolverDirect< Number >::solve ( const SparseMatrix< Number > &  A,
LinearAlgebra::CUDAWrappers::Vector< Number > &  x,
const LinearAlgebra::CUDAWrappers::Vector< Number > &  b 

Solve the linear system Ax=b.

Definition at line 452 of file

◆ control()

template<typename Number >
SolverControl & CUDAWrappers::SolverDirect< Number >::control ( ) const

Access to object that controls convergence.

Definition at line 443 of file

Member Data Documentation

◆ cuda_handle

template<typename Number >
const Utilities::CUDA::Handle& CUDAWrappers::SolverDirect< Number >::cuda_handle


Definition at line 97 of file cuda_solver_direct.h.

◆ solver_control

template<typename Number >
SolverControl& CUDAWrappers::SolverDirect< Number >::solver_control

Reference to the object that controls convergence of the iterative solver. In fact, for these CUDA wrappers, cuSOLVER and cuSPARSE do so themselves, but we copy the data from this object before starting the solution process, and copy the data back into it afterwards.

Definition at line 105 of file cuda_solver_direct.h.

◆ additional_data

template<typename Number >
const AdditionalData CUDAWrappers::SolverDirect< Number >::additional_data

Store a copy of the flags for this particular solver.

Definition at line 110 of file cuda_solver_direct.h.

The documentation for this class was generated from the following files: