Documentation for hipSPARSE is available at https://rocm.docs.amd.com/projects/hipSPARSE/en/latest/.
- Added
azurelinux
OS name for correcting gfortran dependency
- Added an alpha version of the hipsparse-bench executable to facilitate comparing NVIDIA CUDA cuSPARSE and rocSPARSE backends
- Changed the default compiler from hipcc to amdclang in the install script and cmake files.
- Improved the user documentation
- In
hipsparseSpSM_solve()
, the external buffer is passed as a parameter. This does not match the NVIDIA CUDA cuSPARSE API. This extra external buffer parameter will be removed in a future release. For now this extra parameter can be ignored and nullptr passed as it is unused internally byhipsparseSpSM_solve()
.
- Added missing
hipsparseCscGet()
routine
- All internal hipSPARSE functions now exist inside a namespace
- Match deprecations found in NVIDIA CUDA cuSPARSE 12.x.x when using NVIDIA CUDA cuSPARSE backend.
- Fixed SpGEMM and SpGEMM_reuse routines which were not matching NVIDIA CUDA cuSPARSE behaviour
- Improved user manual
- Improved contribution guidelines
- In
hipsparseSpSM_solve()
, we currently pass the external buffer as a parameter. This does not match the NVIDIA CUDA cuSPARSE API and this extra external buffer parameter will be removed in a future release. For now this extra parameter can be ignored and nullptr passed as it is unused internally byhipsparseSpSM_solve()
.
- Fixes to the build chain
- Added
hipsparseGetErrorName
andhipsparseGetErrorString
- Changed the
hipsparseSpSV_solve()
API function to match the NVIDIA CUDA cuSPARSE API - Changed generic API functions to use const descriptors
- Improved documentation
- Compilation failures when using the NVIDIA CUDA cuSPARSE 12.1.0 and 12.0.0 backends
- Compilation failures when using the NVIDIA CUDA cuSPARSE 10.1 (non-update version) backend
- Reverted an undocumented API change in hipSPARSE 2.3.6 that affected the
hipsparseSpSV_solve
function
- Added SpGEMM algorithms
- blockDim == 0 now returns
HIPSPARSE_STATUS_INVALID_SIZE
forhipsparseXbsr2csr
andhipsparseXcsr2bsr
- Fixed an issue where the
rocm
folder was not removed after upgrading meta packages - Fixed a compilation issue with the NVIDIA CUDA cuSPARSE backend
- Added more detailed messages for unit test failures due related to missing input data
- Improved documentation
- Fixed a bug with deprecation messages when using gcc9
- Added
hipsparseCsr2cscEx2_bufferSize
andhipsparseCsr2cscEx2
routines
HIPSPARSE_ORDER_COLUMN
has been renamed toHIPSPARSE_ORDER_COL
in order to match NVIDIA CUDA cuSPARSE
- Added SpMM and SpMM batched for CSC format
- New packages for test and benchmark executables on all supported operating systems using CPack
- Added
gtsv_interleaved_batch
andgpsv_interleaved_batch
routines - Added
SpGEMM_reuse
- Changed
BUILD_CUDA
withUSE_CUDA
in the install script and CMake files - Updated GoogleTest to 11.1
- Fixed a bug in SpMM Alg versioning
- Added (conjugate) transpose support for
csrmv
,hybmv
, andspmv
routines
- Triangular solve for multiple right-hand sides using BSR format
- SpMV for BSRX format
- Enhanced SpMM in CSR format to work with transposed A
- Matrix coloring for CSR matrices
- Batched tridiagonal solve (
gtsv_strided_batch
) - SpMM for BLOCKED ELL format
- Generic routines for SpSV and SpSM
- Beta support for Windows 10
- Additional atomic-based algorithms for SpMM in COO format
- Additional algorithm for SpMM in CSR format
-
Packaging has been split into a runtime package (
hipsparse
) and a development package (hipsparse-devel
): The development package depends on the runtime package. When installing the runtime package, the package manager will suggest the installation of the development package to aid users transitioning from the previous version's combined package. This suggestion by package manager is for all supported operating systems (except CentOS 7) to aid in the transition. Thesuggestion
feature in the runtime package is introduced as a deprecated feature and will be removed in a future ROCm release. -
GTest dependency has been updated to v1.10.0
- Fixed a bug with
gemvi
on Navi21
- Optimization for pivot-based GTSV
- Tridiagonal solve with and without pivoting (batched)
- Dense matrix sparse vector multiplication (
gemvi
) - Sampled dense-dense matrix multiplication (
sddmm
)
- Generic API support, including SpMM
- Generic API support, including Axpby, Gather, Scatter, Rot, SpVV, SpMV, SparseToDense, DenseToSparse, and SpGEMM
- Changelog file
csr2gebsr
gebsr2csr
gebsr2gebsc
gebsr2gebsr
- Updates to Debian package name.
prune_csr2csr, prune_dense2csr_percentage
andprune_csr2csr_percentage
bsrilu0
bsric0
- Fortran bindings
- Triangular solve for BSR format (bsrsv)
- CentOS 6 support
- Fortran bindings
- Triangular solve for BSR format (bsrsv)
- CentOS 6 support
- Switched to HIP-Clang as default compiler
csr2dense
,csc2dense
,csr2csr_compress
,nnz_compress
,bsr2csr
,csr2bsr
,bsrmv
, andcsrgeam
- static build
- New examples
dense2csr
,dense2csc
- Installation process