rocSOLVER Types#
rocSOLVER uses most types and enumerations defined in rocBLAS for the general operation and dense matrix computations, and some defined in rocSPARSE for sparse matrix computations (direct solvers). For more information, see the rocBLAS types and rocSPARSE types documentation. Next we present additional types, only used in rocSOLVER, that extend the rocBLAS and rocSPARSE APIs.
Additional types#
rocblas_direct#
rocblas_storev#
rocblas_svect#
-
enum rocblas_svect#
Used to specify how the singular vectors are to be computed and stored.
Values:
-
enumerator rocblas_svect_all#
The entire associated orthogonal/unitary matrix is computed.
-
enumerator rocblas_svect_singular#
Only the singular vectors are computed and stored in output array.
-
enumerator rocblas_svect_overwrite#
Only the singular vectors are computed and overwrite the input matrix.
-
enumerator rocblas_svect_none#
No singular vectors are computed.
-
enumerator rocblas_svect_all#
rocblas_srange#
-
enum rocblas_srange#
Used to specify the type of range in which singular values will be found in partial singular value decompositions.
Values:
-
enumerator rocblas_srange_all#
All singular values will be found.
-
enumerator rocblas_srange_value#
All singular values in the half-open interval \((vl, vu]\) will be found.
-
enumerator rocblas_srange_index#
The \(il\)-th through \(iu\)-th singular values will be found.
-
enumerator rocblas_srange_all#
rocblas_evect#
-
enum rocblas_evect#
Used to specify how the eigenvectors are to be computed.
Values:
-
enumerator rocblas_evect_original#
Compute eigenvectors for the original symmetric/Hermitian matrix.
-
enumerator rocblas_evect_tridiagonal#
Compute eigenvectors for the symmetric tridiagonal matrix.
-
enumerator rocblas_evect_none#
No eigenvectors are computed.
-
enumerator rocblas_evect_original#
rocblas_workmode#
-
enum rocblas_workmode#
Used to enable the use of fast algorithms (with out-of-place computations) in some of the routines.
Values:
-
enumerator rocblas_outofplace#
Out-of-place computations are allowed; this requires extra device memory for workspace.
-
enumerator rocblas_inplace#
If not enough memory is available, this forces in-place computations.
-
enumerator rocblas_outofplace#
rocblas_eform#
rocblas_erange#
-
enum rocblas_erange#
Used to specify the type of range in which eigenvalues will be found in partial eigenvalue decompositions.
Values:
-
enumerator rocblas_erange_all#
All eigenvalues will be found.
-
enumerator rocblas_erange_value#
All eigenvalues in the half-open interval \((vl, vu]\) will be found.
-
enumerator rocblas_erange_index#
The \(il\)-th through \(iu\)-th eigenvalues will be found.
-
enumerator rocblas_erange_all#
rocblas_eorder#
-
enum rocblas_eorder#
Used to specify whether the eigenvalues are grouped and ordered by blocks.
Values:
-
enumerator rocblas_eorder_blocks#
The computed eigenvalues will be grouped by split-off blocks and arranged in increasing order within each block.
-
enumerator rocblas_eorder_entire#
All computed eigenvalues of the entire matrix will be ordered from smallest to largest.
-
enumerator rocblas_eorder_blocks#
rocblas_esort#
rocblas_layer_mode_flags#
-
typedef uint32_t rocblas_layer_mode_flags#
Used to specify the logging layer mode using a bitwise combination of rocblas_layer_mode values.
rocsolver_rfinfo#
-
typedef struct rocsolver_rfinfo_ *rocsolver_rfinfo#
A handle to a structure containing matrix descriptors and metadata required to interact with rocSPARSE when using the rocSOLVER re-factorization functionality. It needs to be initialized with rocsolver_create_rfinfo and destroyed with rocsolver_destroy_rfinfo.
rocsolver_rfinfo_mode#
-
enum rocsolver_rfinfo_mode#
Used to specify the mode of the rfinfo struct required by the re-factorization functionality.
Values:
-
enumerator rocsolver_rfinfo_mode_lu#
To work with LU factorization (for general sparse matrices). This is the default mode.
-
enumerator rocsolver_rfinfo_mode_cholesky#
To work with Cholesky factorization (for symmetric positive definite sparse matrices).
-
enumerator rocsolver_rfinfo_mode_lu#