This is an old version of ROCm documentation. Read the latest ROCm release documentation to stay informed of all our developments.

hipSPARSE datatypes

Contents

hipSPARSE datatypes#

hipsparseHandle_t#

typedef void *hipsparseHandle_t#

Handle to the hipSPARSE library context queue.

The hipSPARSE handle is a structure holding the hipSPARSE library context. It must be initialized using hipsparseCreate() and the returned handle must be passed to all subsequent library function calls. It should be destroyed at the end using hipsparseDestroy().

hipsparseMatDescr_t#

typedef void *hipsparseMatDescr_t#

Descriptor of the matrix.

The hipSPARSE matrix descriptor is a structure holding all properties of a matrix. It must be initialized using hipsparseCreateMatDescr() and the returned descriptor must be passed to all subsequent library calls that involve the matrix. It should be destroyed at the end using hipsparseDestroyMatDescr().

hipsparseHybMat_t#

typedef void *hipsparseHybMat_t#

HYB matrix storage format.

The hipSPARSE HYB matrix structure holds the HYB matrix. It must be initialized using hipsparseCreateHybMat() and the returned HYB matrix must be passed to all subsequent library calls that involve the matrix. It should be destroyed at the end using hipsparseDestroyHybMat().

For more details on the HYB format, see HYB storage format.

hipsparseColorInfo_t#

typedef void *hipsparseColorInfo_t#

Pointer type to opaque structure holding coloring info.

The hipSPARSE ColorInfo structure holds the coloring information. It must be initialized using hipsparseCreateColorInfo() and the returned structure must be passed to all subsequent library calls that involve the coloring. It should be destroyed at the end using hipsparseDestroyColorInfo().

bsrsv2Info_t#

typedef struct bsrsv2Info *bsrsv2Info_t#

Pointer type to opaque structure holding bsrsv2 info.

The hipSPARSE bsrsv2 structure holds the information used by hipsparseXbsrsv2_zeroPivot(), hipsparseXbsrsv2_bufferSize(), hipsparseXbsrsv2_bufferSizeExt(), hipsparseXbsrsv2_analysis(), and hipsparseXbsrsv2_solve(). It must be initialized using hipsparseCreateBsrsv2Info() and the returned structure must be passed to all subsequent library calls that involve bsrsv2. It should be destroyed at the end using hipsparseDestroyBsrsv2Info().

bsrsm2Info_t#

typedef struct bsrsm2Info *bsrsm2Info_t#

Pointer type to opaque structure holding bsrsm2 info.

The hipSPARSE bsrsm2 structure holds the information used by hipsparseXbsrsm2_zeroPivot(), hipsparseXbsrsm2_bufferSize(), hipsparseXbsrsm2_analysis(), and hipsparseXbsrsm2_solve(). It must be initialized using hipsparseCreateBsrsm2Info() and the returned structure must be passed to all subsequent library calls that involve bsrsm2. It should be destroyed at the end using hipsparseDestroyBsrsm2Info().

bsrilu02Info_t#

typedef struct bsrilu02Info *bsrilu02Info_t#

Pointer type to opaque structure holding bsrilu02 info.

The hipSPARSE bsrilu02 structure holds the information used by hipsparseXbsrilu02_zeroPivot(), hipsparseXbsrilu02_numericBoost(), hipsparseXbsrilu02_bufferSize(), hipsparseXbsrilu02_analysis(), and hipsparseXbsrilu02(). It must be initialized using hipsparseCreateBsrilu02Info() and the returned structure must be passed to all subsequent library calls that involve bsrilu02. It should be destroyed at the end using hipsparseDestroyBsrilu02Info().

bsric02Info_t#

typedef struct bsric02Info *bsric02Info_t#

Pointer type to opaque structure holding bsric02 info.

The hipSPARSE bsric02 structure holds the information used by hipsparseXbsric02_zeroPivot(), hipsparseXbsric02_bufferSize(), hipsparseXbsric02_analysis(), and hipsparseXbsric02(). It must be initialized using hipsparseCreateBsric02Info() and the returned structure must be passed to all subsequent library calls that involve bsric02. It should be destroyed at the end using hipsparseDestroyBsric02Info().

csrsv2Info_t#

typedef struct csrsv2Info *csrsv2Info_t#

Pointer type to opaque structure holding csrsv2 info.

The hipSPARSE csrsv2 structure holds the information used by hipsparseXcsrsv2_zeroPivot(), hipsparseXcsrsv2_bufferSize(), hipsparseXcsrsv2_analysis(), and hipsparseXcsrsv2(). It must be initialized using hipsparseCreateCsrsv2Info() and the returned structure must be passed to all subsequent library calls that involve csrsv2. It should be destroyed at the end using hipsparseDestroyCsrsv2Info().

csrsm2Info_t#

typedef struct csrsm2Info *csrsm2Info_t#

Pointer type to opaque structure holding csrsm2 info.

The hipSPARSE csrsm2 structure holds the information used by hipsparseXcsrsm2_zeroPivot(), hipsparseXcsrsm2_bufferSize(), hipsparseXcsrsm2_analysis(), and hipsparseXcsrsm2(). It must be initialized using hipsparseCreateCsrsm2Info() and the returned structure must be passed to all subsequent library calls that involve csrsm2. It should be destroyed at the end using hipsparseDestroyCsrsm2Info().

csrilu02Info_t#

typedef struct csrilu02Info *csrilu02Info_t#

Pointer type to opaque structure holding csrilu02 info.

The hipSPARSE csrilu02 structure holds the information used by hipsparseXcsrilu02_zeroPivot(), hipsparseXcsrilu02_numericBoost(), hipsparseXcsrilu02_bufferSize(), hipsparseXcsrilu02_analysis(), and hipsparseXcsrilu02(). It must be initialized using hipsparseCreateCsrilu02Info() and the returned structure must be passed to all subsequent library calls that involve csrilu02. It should be destroyed at the end using hipsparseDestroyCsrilu02Info().

csric02Info_t#

typedef struct csric02Info *csric02Info_t#

Pointer type to opaque structure holding csric02 info.

The hipSPARSE csric02 structure holds the information used by hipsparseXcsric02_zeroPivot(), hipsparseXcsric02_bufferSize(), hipsparseXcsric02_analysis(), and hipsparseXcsric02(). It must be initialized using hipsparseCreateCsric02Info() and the returned structure must be passed to all subsequent library calls that involve csric02. It should be destroyed at the end using hipsparseDestroyCsric02Info().

csrgemm2Info_t#

typedef struct csrgemm2Info *csrgemm2Info_t#

Pointer type to opaque structure holding csrgemm2 info.

The hipSPARSE csrgemm2 structure holds the information used by hipsparseXcsrgemm2_bufferSizeExt(), hipsparseXcsrgemm2Nnz(), and hipsparseXcsrgemm2(). It must be initialized using hipsparseCreateCsrgemm2Info() and the returned structure must be passed to all subsequent library calls that involve csrgemm2. It should be destroyed at the end using hipsparseDestroyCsrgemm2Info().

pruneInfo_t#

typedef struct pruneInfo *pruneInfo_t#

Pointer type to opaque structure holding prune info.

The hipSPARSE prune structure holds the information used by hipsparseXpruneDense2csrByPercentage_bufferSize(), hipsparseXpruneDense2csrByPercentage_bufferSizeExt(), hipsparseXpruneCsr2csrByPercentage_bufferSize(), hipsparseXpruneCsr2csrByPercentage_bufferSizeExt(), hipsparseXpruneDense2csrNnzByPercentage(), hipsparseXpruneCsr2csrNnzByPercentage(), hipsparseXpruneDense2csrByPercentage(), and hipsparseXpruneCsr2csrByPercentage(). It must be initialized using hipsparseCreatePruneInfo() and the returned structure must be passed to all subsequent library calls that involve prune. It should be destroyed at the end using hipsparseDestroyPruneInfo().

csru2csrInfo_t#

typedef struct csru2csrInfo *csru2csrInfo_t#

Pointer type to opaque structure holding csru2csr info.

The hipSPARSE csru2csr structure holds the information used by hipsparseXcsru2csr_bufferSizeExt(), hipsparseXcsru2csr(), and hipsparseXcsr2csru(). It must be initialized using hipsparseCreateCsru2csrInfo() and the returned structure must be passed to all subsequent library calls that involve csru2csr. It should be destroyed at the end using hipsparseDestroyCsru2csrInfo().

hipsparseSpVecDescr_t#

typedef void *hipsparseSpVecDescr_t#

Generic API opaque structure holding information for a sparse vector.

The hipSPARSE descriptor is an opaque structure holding information for a sparse vector. It must be initialized using hipsparseCreateSpVec() and the returned descriptor is used in hipSPARSE generic API’s involving sparse vectors. It should be destroyed at the end using hipsparseDestroySpVec().

hipsparseSpMatDescr_t#

typedef void *hipsparseSpMatDescr_t#

Generic API opaque structure holding information for a sparse matrix.

The hipSPARSE descriptor is an opaque structure holding information for a sparse matrix. It must be initialized using hipsparseCreateSpMat() and the returned descriptor is used in hipSPARSE generic API’s involving sparse matrices. It should be destroyed at the end using hipsparseDestroySpMat().

hipsparseDnVecDescr_t#

typedef void *hipsparseDnVecDescr_t#

Generic API opaque structure holding information for a dense vector.

The hipSPARSE descriptor is an opaque structure holding information for a dense vector. It must be initialized using hipsparseCreateDnVec() and the returned descriptor is used in hipSPARSE generic API’s involving dense vectors. It should be destroyed at the end using hipsparseDestroyDnVec().

hipsparseDnMatDescr_t#

typedef void *hipsparseDnMatDescr_t#

Generic API opaque structure holding information for a dense matrix.

The hipSPARSE descriptor is an opaque structure holding information for a dense matrix. It must be initialized using hipsparseCreateDnMat() and the returned descriptor is used in hipSPARSE generic API’s involving dense matrices. It should be destroyed at the end using hipsparseDestroyDnMat().

hipsparseSpGEMMDescr_t#

typedef struct hipsparseSpGEMMDescr *hipsparseSpGEMMDescr_t#

Generic API opaque structure holding information for a SpGEMM calculations.

The hipSPARSE descriptor is an opaque structure holding information that is used in hipsparseSpGEMM_workEstimation(), hipsparseSpGEMMreuse_workEstimation(), hipsparseSpGEMMreuse_nnz(), hipsparseSpGEMM_compute(), hipsparseSpGEMMreuse_compute(), hipsparseSpGEMM_copy(), and hipsparseSpGEMMreuse_copy(). It must be initialized using hipsparseSpGEMM_createDescr(). It should be destroyed at the end using hipsparseSpGEMM_destroyDescr().

hipsparseSpSVDescr_t#

typedef struct hipsparseSpSVDescr *hipsparseSpSVDescr_t#

Generic API opaque structure holding information for a SpSV calculations.

The hipSPARSE descriptor is an opaque structure holding information that is used in hipsparseSpSV_bufferSize(), hipsparseSpSV_analysis(), and hipsparseSpSV_solve(). It must be initialized using hipsparseSpSV_createDescr(). It should be destroyed at the end using hipsparseSpSV_destroyDescr().

hipsparseSpSMDescr_t#

typedef struct hipsparseSpSMDescr *hipsparseSpSMDescr_t#

Generic API opaque structure holding information for a SpSM calculations.

The hipSPARSE descriptor is an opaque structure holding information that is used in hipsparseSpSM_bufferSize(), hipsparseSpSM_analysis(), and hipsparseSpSM_solve(). It must be initialized using hipsparseSpSM_createDescr(). It should be destroyed at the end using hipsparseSpSM_destroyDescr().

hipsparseStatus_t#

enum hipsparseStatus_t#

List of hipsparse status codes definition.

This is a list of the hipsparseStatus_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_STATUS_SUCCESS#

Function succeeds

enumerator HIPSPARSE_STATUS_NOT_INITIALIZED#

hipSPARSE was not initialized

enumerator HIPSPARSE_STATUS_ALLOC_FAILED#

Resource allocation failed

enumerator HIPSPARSE_STATUS_INVALID_VALUE#

Unsupported value was passed to the function

enumerator HIPSPARSE_STATUS_ARCH_MISMATCH#

Device architecture not supported

enumerator HIPSPARSE_STATUS_MAPPING_ERROR#

Access to GPU memory space failed

enumerator HIPSPARSE_STATUS_EXECUTION_FAILED#

GPU program failed to execute

enumerator HIPSPARSE_STATUS_INTERNAL_ERROR#

An internal hipSPARSE operation failed

enumerator HIPSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED#

Matrix type not supported

enumerator HIPSPARSE_STATUS_ZERO_PIVOT#

Zero pivot was computed

enumerator HIPSPARSE_STATUS_NOT_SUPPORTED#

Operation is not supported

enumerator HIPSPARSE_STATUS_INSUFFICIENT_RESOURCES#

Resources are insufficient

hipsparsePointerMode_t#

enum hipsparsePointerMode_t#

Indicates if the pointer is device pointer or host pointer.

The hipsparsePointerMode_t indicates whether scalar values are passed by reference on the host or device. The hipsparsePointerMode_t can be changed by hipsparseSetPointerMode(). The currently used pointer mode can be obtained by hipsparseGetPointerMode().

Values:

enumerator HIPSPARSE_POINTER_MODE_HOST#

Scalar pointers are in host memory

enumerator HIPSPARSE_POINTER_MODE_DEVICE#

Scalar pointers are in device memory

hipsparseAction_t#

enum hipsparseAction_t#

Specify where the operation is performed on.

The hipsparseAction_t indicates whether the operation is performed on the full matrix, or only on the sparsity pattern of the matrix.

Values:

enumerator HIPSPARSE_ACTION_SYMBOLIC#

Operate only on indices

enumerator HIPSPARSE_ACTION_NUMERIC#

Operate on data and indices

hipsparseMatrixType_t#

enum hipsparseMatrixType_t#

Specify the matrix type.

The hipsparseMatrixType_t indices the type of a matrix. For a given hipsparseMatDescr_t, the hipsparseMatrixType_t can be set using hipsparseSetMatType(). The current hipsparseMatrixType_t of a matrix can be obtained by hipsparseGetMatType().

Values:

enumerator HIPSPARSE_MATRIX_TYPE_GENERAL#

General matrix type

enumerator HIPSPARSE_MATRIX_TYPE_SYMMETRIC#

Symmetric matrix type

enumerator HIPSPARSE_MATRIX_TYPE_HERMITIAN#

Hermitian matrix type

enumerator HIPSPARSE_MATRIX_TYPE_TRIANGULAR#

Triangular matrix type

hipsparseFillMode_t#

enum hipsparseFillMode_t#

Specify the matrix fill mode.

The hipsparseFillMode_t indicates whether the lower or the upper part is stored in a sparse triangular matrix. For a given hipsparseMatDescr_t, the hipsparseFillMode_t can be set using hipsparseSetMatFillMode(). The current hipsparseFillMode_t of a matrix can be obtained by hipsparseGetMatFillMode().

Values:

enumerator HIPSPARSE_FILL_MODE_LOWER#

Lower triangular part is stored

enumerator HIPSPARSE_FILL_MODE_UPPER#

Upper triangular part is stored

hipsparseDiagType_t#

enum hipsparseDiagType_t#

Indicates if the diagonal entries are unity.

The hipsparseDiagType_t indicates whether the diagonal entries of a matrix are unity or not. If HIPSPARSE_DIAG_TYPE_UNIT is specified, all present diagonal values will be ignored. For a given hipsparseMatDescr_t, the hipsparseDiagType_t can be set using hipsparseSetMatDiagType(). The current hipsparseDiagType_t of a matrix can be obtained by hipsparseGetMatDiagType().

Values:

enumerator HIPSPARSE_DIAG_TYPE_NON_UNIT#

Diagonal entries are non-unity

enumerator HIPSPARSE_DIAG_TYPE_UNIT#

Diagonal entries are unity

hipsparseIndexBase_t#

enum hipsparseIndexBase_t#

Specify the matrix index base.

The hipsparseIndexBase_t indicates the index base of the indices. For a given hipsparseMatDescr_t, the hipsparseIndexBase_t can be set using hipsparseSetMatIndexBase(). The current hipsparseIndexBase_t of a matrix can be obtained by hipsparseGetMatIndexBase().

Values:

enumerator HIPSPARSE_INDEX_BASE_ZERO#

Zero based indexing

enumerator HIPSPARSE_INDEX_BASE_ONE#

One based indexing

hipsparseOperation_t#

enum hipsparseOperation_t#

Specify whether the matrix is to be transposed or not.

The hipsparseOperation_t indicates the operation performed with the given matrix.

Values:

enumerator HIPSPARSE_OPERATION_NON_TRANSPOSE#

Operate with matrix

enumerator HIPSPARSE_OPERATION_TRANSPOSE#

Operate with transpose

enumerator HIPSPARSE_OPERATION_CONJUGATE_TRANSPOSE#

Operate with conj. transpose

hipsparseHybPartition_t#

enum hipsparseHybPartition_t#

HYB matrix partitioning type.

The hipsparseHybPartition_t type indicates how the hybrid format partitioning between COO and ELL storage formats is performed.

Values:

enumerator HIPSPARSE_HYB_PARTITION_AUTO#

Automatically decide on ELL nnz per row

enumerator HIPSPARSE_HYB_PARTITION_USER#

User given ELL nnz per row

enumerator HIPSPARSE_HYB_PARTITION_MAX#

Max ELL nnz per row, no COO part

hipsparseSolvePolicy_t#

enum hipsparseSolvePolicy_t#

Specify policy in triangular solvers and factorizations.

The hipsparseSolvePolicy_t type indicates the solve policy for the triangular solve.

Values:

enumerator HIPSPARSE_SOLVE_POLICY_NO_LEVEL#

No level information generated

enumerator HIPSPARSE_SOLVE_POLICY_USE_LEVEL#

Generate level information

hipsparseDirection_t#

enum hipsparseDirection_t#

Specify the matrix direction.

The hipsparseDirection_t indicates whether a dense matrix should be parsed by rows or by columns, assuming column-major storage.

Values:

enumerator HIPSPARSE_DIRECTION_ROW#

Parse the matrix by rows

enumerator HIPSPARSE_DIRECTION_COLUMN#

Parse the matrix by columns

hipsparseFormat_t#

enum hipsparseFormat_t#

List of hipsparse sparse matrix formats.

This is a list of the hipsparseFormat_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_FORMAT_CSR#
enumerator HIPSPARSE_FORMAT_CSC#
enumerator HIPSPARSE_FORMAT_COO#
enumerator HIPSPARSE_FORMAT_COO_AOS#
enumerator HIPSPARSE_FORMAT_BLOCKED_ELL#

hipsparseOrder_t#

enum hipsparseOrder_t#

List of hipsparse dense matrix memory layout ordering.

This is a list of the hipsparseOrder_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_DEPRECATED_MSG#

Column major

enumerator HIPSPARSE_ORDER_COL#

Column major

enumerator HIPSPARSE_ORDER_ROW#

Row major

hipsparseIndextype_t#

enum hipsparseIndexType_t#

List of hipsparse index type used by sparse matrix indices.

This is a list of the hipsparseIndexType_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_INDEX_16U#

16 bit unsigned integer indices

enumerator HIPSPARSE_INDEX_32I#

32 bit signed integer indices

enumerator HIPSPARSE_INDEX_64I#

64 bit signed integer indices

hipsparseCsr2CscAlg_t#

enum hipsparseCsr2CscAlg_t#

List of hipsparse csr2csc algorithms.

This is a list of the hipsparseCsr2CscAlg_t algorithms that can be used by the hipSPARSE library routines hipsparseCsr2cscEx2_bufferSize and hipsparseCsr2cscEx2.

Values:

enumerator HIPSPARSE_CSR2CSC_ALG_DEFAULT#
enumerator HIPSPARSE_CSR2CSC_ALG1#
enumerator HIPSPARSE_CSR2CSC_ALG2#

hipsparseSpMVAlg_t#

enum hipsparseSpMVAlg_t#

List of hipsparse SpMV algorithms.

This is a list of the hipsparseSpMVAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_MV_ALG_DEFAULT#
enumerator HIPSPARSE_COOMV_ALG#
enumerator HIPSPARSE_CSRMV_ALG1#
enumerator HIPSPARSE_CSRMV_ALG2#
enumerator HIPSPARSE_SPMV_ALG_DEFAULT#
enumerator HIPSPARSE_SPMV_COO_ALG1#
enumerator HIPSPARSE_SPMV_CSR_ALG1#
enumerator HIPSPARSE_SPMV_CSR_ALG2#
enumerator HIPSPARSE_SPMV_COO_ALG2#

hipsparseSpMMAlg_t#

enum hipsparseSpMMAlg_t#

List of hipsparse SpMM algorithms.

This is a list of the hipsparseSpMMAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_MM_ALG_DEFAULT#
enumerator HIPSPARSE_COOMM_ALG1#
enumerator HIPSPARSE_COOMM_ALG2#
enumerator HIPSPARSE_COOMM_ALG3#
enumerator HIPSPARSE_CSRMM_ALG1#
enumerator HIPSPARSE_SPMM_ALG_DEFAULT#
enumerator HIPSPARSE_SPMM_COO_ALG1#
enumerator HIPSPARSE_SPMM_COO_ALG2#
enumerator HIPSPARSE_SPMM_COO_ALG3#
enumerator HIPSPARSE_SPMM_COO_ALG4#
enumerator HIPSPARSE_SPMM_CSR_ALG1#
enumerator HIPSPARSE_SPMM_CSR_ALG2#
enumerator HIPSPARSE_SPMM_CSR_ALG3#
enumerator HIPSPARSE_SPMM_BLOCKED_ELL_ALG1#

hipsparseSparseToDenseAlg_t#

enum hipsparseSparseToDenseAlg_t#

List of hipsparse SparseToDense algorithms.

This is a list of the hipsparseSparseToDenseAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SPARSETODENSE_ALG_DEFAULT#

hipsparseDenseToSparseAlg_t#

enum hipsparseDenseToSparseAlg_t#

List of hipsparse DenseToSparse algorithms.

This is a list of the hipsparseDenseToSparseAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_DENSETOSPARSE_ALG_DEFAULT#

hipsparseSDDMMAlg_t#

enum hipsparseSDDMMAlg_t#

List of hipsparse SDDMM algorithms.

This is a list of the hipsparseSDDMMAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SDDMM_ALG_DEFAULT#

hipsparseSpSVAlg_t#

enum hipsparseSpSVAlg_t#

List of hipsparse SpSV algorithms.

This is a list of the hipsparseSpSVAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SPSV_ALG_DEFAULT#

hipsparseSpSMAlg_t#

enum hipsparseSpSMAlg_t#

List of hipsparse SpSM algorithms.

This is a list of the hipsparseSpSMAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SPSM_ALG_DEFAULT#

hipsparseSpMatAttribute_t#

enum hipsparseSpMatAttribute_t#

List of hipsparse attributes.

This is a list of the hipsparseSpMatAttribute_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SPMAT_FILL_MODE#

Fill mode attribute

enumerator HIPSPARSE_SPMAT_DIAG_TYPE#

Diag type attribute

hipsparseSpGEMMAlg_t#

enum hipsparseSpGEMMAlg_t#

List of hipsparse SpGEMM algorithms.

This is a list of the hipsparseSpGEMMAlg_t types that are used by the hipSPARSE library.

Values:

enumerator HIPSPARSE_SPGEMM_DEFAULT#
enumerator HIPSPARSE_SPGEMM_CSR_ALG_DETERMINISTIC#
enumerator HIPSPARSE_SPGEMM_CSR_ALG_NONDETERMINISTIC#
enumerator HIPSPARSE_SPGEMM_ALG1#
enumerator HIPSPARSE_SPGEMM_ALG2#
enumerator HIPSPARSE_SPGEMM_ALG3#