hipSPARSE documentation#
hipSPARSE exposes a common interface that provides basic linear algebra subroutines for sparse computation implemented on top of the AMD ROCm runtime and toolchains. hipSPARSE is a SPARSE marshalling library supporting both rocSPARSE and NVIDIA CUDA cuSPARSE as backends. It sits between the application and a worker SPARSE library, marshalling inputs into the backend library and marshalling results back to the application. hipSPARSE is created using the HIP programming language and optimized for AMD’s latest discrete GPUs.
The code is open and hosted here: ROCmSoftwarePlatform/hipSPARSE
The hipSPARSE documentation is structured as follows:
Sparse Auxiliary Functions required for subsequent library calls
Sparse Level 1 Functions between a vector in sparse format and a vector in dense format
Sparse Level 2 Functions between a matrix in sparse format and a vector in dense format
Sparse Level 3 Functions between a matrix in sparse format and multiple vectors (matrix) in dense format
Sparse Extra Functions for proposing linear algebra operations
Preconditioner Functions on a matrix in sparse format to obtain a preconditioner
Sparse Conversion Functions to convert a matrix in sparse format to a different storage format
Sparse Reordering Functions for reordering sparse matrices
Sparse Generic Functions for manipulating sparse matrices
Note
hipSPARSE exports an interface that does not require the client to change, regardless of the chosen backend. hipSPARSE focuses on convenience and portability. If performance outweighs these factors, then using rocSPARSE itself is highly recommended. rocSPARSE can also be found on GitHub.
To contribute to the documentation refer to Contributing to ROCm.
You can find licensing information on the Licensing page.