Reference documentation for deal.II version 9.3.3
|
#include <deal.II/lac/cuda_solver_direct.h>
Classes | |
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) |
SolverControl & | control () const |
Private Attributes | |
const Utilities::CUDA::Handle & | cuda_handle |
SolverControl & | solver_control |
const AdditionalData | additional_data |
Direct solvers. These solvers call cuSOLVER underneath.
<float>
and <double>
. Definition at line 41 of file cuda_solver_direct.h.
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.
|
virtualdefault |
Destructor.
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
.
SolverControl & CUDAWrappers::SolverDirect< Number >::control | ( | ) | const |
Access to object that controls convergence.
|
private |
Handle
Definition at line 97 of file cuda_solver_direct.h.
|
private |
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.
|
private |
Store a copy of the flags for this particular solver.
Definition at line 110 of file cuda_solver_direct.h.