cuSPARSE Legacy Types Reference
cusparseAction_t
This type indicates whether the operation is performed only on indices or on data and indices.
Value |
Meaning |
---|---|
|
the operation is performed only on indices. |
|
the operation is performed on data and indices. |
cusparseMatDescr_t
This structure is used to describe the shape and properties of a matrix.
typedef struct {
cusparseMatrixType_t MatrixType;
cusparseFillMode_t FillMode;
cusparseDiagType_t DiagType;
cusparseIndexBase_t IndexBase;
} cusparseMatDescr_t;
cusparseMatrixType_t
This type indicates the type of matrix stored in sparse storage. Notice that for symmetric, Hermitian and triangular matrices only their lower or upper part is assumed to be stored.
The whole idea of matrix type and fill mode is to keep minimum storage for symmetric/Hermitian matrix, and also to take advantage of symmetric property on SpMV (Sparse Matrix Vector multiplication). To compute y=A*x
when A
is symmetric and only lower triangular part is stored, two steps are needed. First step is to compute y=(L+D)*x
and second step is to compute y=L^T*x + y
. Given the fact that the transpose operation y=L^T*x
is 10x slower than non-transpose version y=L*x
, the symmetric property does not show up any performance gain. It is better for the user to extend the symmetric matrix to a general matrix and apply y=A*x
with matrix type CUSPARSE_MATRIX_TYPE_GENERAL
.
In general, SpMV, preconditioners (incomplete Cholesky or incomplete LU) and triangular solver are combined together in iterative solvers, for example PCG and GMRES. If the user always uses general matrix (instead of symmetric matrix), there is no need to support other than general matrix in preconditioners. Therefore the new routines, [bsr|csr]sv2
(triangular solver), [bsr|csr]ilu02
(incomplete LU) and [bsr|csr]ic02
(incomplete Cholesky), only support matrix type CUSPARSE_MATRIX_TYPE_GENERAL
.
Value |
Meaning |
---|---|
|
the matrix is general. |
|
the matrix is symmetric. |
|
the matrix is Hermitian. |
|
the matrix is triangular. |
cusparseColorInfo_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in csrcolor()
.
cusparseSolvePolicy_t [DEPRECATED]
This type indicates whether level information is generated and used in csrsv2, csric02, csrilu02, bsrsv2, bsric02 and bsrilu02
.
Value |
Meaning |
---|---|
|
no level information is generated and used. |
|
generate and use level information. |
bsric02Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in bsric02_bufferSize()
, bsric02_analysis()
, and bsric02()
.
bsrilu02Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in bsrilu02_bufferSize()
, bsrilu02_analysis()
, and bsrilu02()
.
bsrsm2Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in bsrsm2_bufferSize()
, bsrsm2_analysis()
, and bsrsm2_solve()
.
bsrsv2Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in bsrsv2_bufferSize()
, bsrsv2_analysis()
, and bsrsv2_solve()
.
csric02Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in csric02_bufferSize()
, csric02_analysis()
, and csric02()
.
csrilu02Info_t [DEPRECATED]
This is a pointer type to an opaque structure holding the information used in csrilu02_bufferSize()
, csrilu02_analysis()
, and csrilu02()
.