Types
CudssSolver
CUDSS.CudssSolver
— Typesolver = CudssSolver(A::CuSparseMatrixCSR{T,Cint}, structure::String, view::Char; index::Char='O')
solver = CudssSolver(matrix::CudssMatrix{T}, config::CudssConfig, data::CudssData)
The type T
can be Float32
, Float64
, ComplexF32
or ComplexF64
.
CudssSolver
contains all structures required to solve a linear system with cuDSS. One constructor of CudssSolver
takes as input the same parameters as CudssMatrix
.
structure
specifies the stucture for the sparse matrix:
"G"
: General matrix – LDU factorization;"S"
: Real symmetric matrix – LDLᵀ factorization;"H"
: Complex Hermitian matrix – LDLᴴ factorization;"SPD"
: Symmetric positive-definite matrix – LLᵀ factorization;"HPD"
: Hermitian positive-definite matrix – LLᴴ factorization.
view
specifies matrix view for the sparse matrix:
'L'
: Lower-triangular matrix and all values above the main diagonal are ignored;'U'
: Upper-triangular matrix and all values below the main diagonal are ignored;'F'
: Full matrix.
index
specifies indexing base for the sparse matrix:
'Z'
: 0-based indexing;'O'
: 1-based indexing.
CudssSolver
can be also constructed from the three structures CudssMatrix
, CudssConfig
and CudssData
if needed.
CudssBatchedSolver
CUDSS.CudssBatchedSolver
— Typesolver = CudssBatchedSolver(A::CuSparseMatrixCSR{T,Cint}, structure::String, view::Char; index::Char='O')
solver = CudssBatchedSolver(matrix::CudssBatchedMatrix{T}, config::CudssConfig, data::CudssData)
The type T
can be Float32
, Float64
, ComplexF32
or ComplexF64
.
CudssBatchedSolver
contains all structures required to solve a batch of linear systems with cuDSS. One constructor of CudssBatchedSolver
takes as input the same parameters as CudssBatchedMatrix
.
structure
specifies the stucture for the sparse matrices:
"G"
: General matrix – LDU factorization;"S"
: Real symmetric matrix – LDLᵀ factorization;"H"
: Complex Hermitian matrix – LDLᴴ factorization;"SPD"
: Symmetric positive-definite matrix – LLᵀ factorization;"HPD"
: Hermitian positive-definite matrix – LLᴴ factorization.
view
specifies matrix view for the sparse matrices:
'L'
: Lower-triangular matrix and all values above the main diagonal are ignored;'U'
: Upper-triangular matrix and all values below the main diagonal are ignored;'F'
: Full matrix.
index
specifies indexing base for the sparse matrices:
'Z'
: 0-based indexing;'O'
: 1-based indexing.
CudssBatchedSolver
can be also constructed from the three structures CudssBatchedMatrix
, CudssConfig
and CudssData
if needed.
CudssMatrix
CUDSS.CudssMatrix
— Typematrix = CudssMatrix(b::CuVector{T})
matrix = CudssMatrix(B::CuMatrix{T})
matrix = CudssMatrix(A::CuSparseMatrixCSR{T,Cint}, struture::String, view::Char; index::Char='O')
The type T
can be Float32
, Float64
, ComplexF32
or ComplexF64
.
CudssMatrix
is a wrapper for CuVector
, CuMatrix
and CuSparseMatrixCSR
. CudssMatrix
is used to pass the matrix of the sparse linear system, as well as solution and right-hand side.
structure
specifies the stucture for the sparse matrix:
"G"
: General matrix – LDU factorization;"S"
: Real symmetric matrix – LDLᵀ factorization;"H"
: Complex Hermitian matrix – LDLᴴ factorization;"SPD"
: Symmetric positive-definite matrix – LLᵀ factorization;"HPD"
: Hermitian positive-definite matrix – LLᴴ factorization.
view
specifies matrix view for the sparse matrix:
'L'
: Lower-triangular matrix and all values above the main diagonal are ignored;'U'
: Upper-triangular matrix and all values below the main diagonal are ignored;'F'
: Full matrix.
index
specifies indexing base for the sparse matrix:
'Z'
: 0-based indexing;'O'
: 1-based indexing.
CudssBatchedMatrix
CUDSS.CudssBatchedMatrix
— Typematrix = CudssBatchedMatrix(b::Vector{CuVector{T}})
matrix = CudssBatchedMatrix(B::Vector{CuMatrix{T}})
matrix = CudssBatchedMatrix(A::Vector{CuSparseMatrixCSR{T,Cint}}, struture::String, view::Char; index::Char='O')
The type T
can be Float32
, Float64
, ComplexF32
or ComplexF64
.
CudssBatchedMatrix
is a wrapper for Vector{CuVector}
, Vector{CuMatrix}
and Vector{CuSparseMatrixCSR}
. CudssBatchedMatrix
is used to pass the matrices of the sparse linear systems, as well as solutions and right-hand sides.
structure
specifies the stucture for the sparse matrices:
"G"
: General matrix – LDU factorization;"S"
: Real symmetric matrix – LDLᵀ factorization;"H"
: Complex Hermitian matrix – LDLᴴ factorization;"SPD"
: Symmetric positive-definite matrix – LLᵀ factorization;"HPD"
: Hermitian positive-definite matrix – LLᴴ factorization.
view
specifies matrix view for the sparse matrices:
'L'
: Lower-triangular matrix and all values above the main diagonal are ignored;'U'
: Upper-triangular matrix and all values below the main diagonal are ignored;'F'
: Full matrix.
index
specifies indexing base for the sparse matrices:
'Z'
: 0-based indexing;'O'
: 1-based indexing.
CudssConfig
CUDSS.CudssConfig
— Typeconfig = CudssConfig()
CudssConfig
stores configuration settings for the solver.
CudssData
CUDSS.CudssData
— Typedata = CudssData()
data = CudssData(cudss_handle::cudssHandle_t)
CudssData
holds internal data (e.g., LU factors arrays).