Skip to content

Releases: ROCm/rocSOLVER

rocSOLVER 3.16.0 for ROCm 5.0.0

09 Feb 20:34
39ccf7a
Compare
Choose a tag to compare

Added

  • Symmetric matrix factorizations:
    • LASYF
    • SYTF2, SYTRF (with batched and strided_batched versions)
  • Added rocsolver_get_version_string_size to help with version string queries
  • Added rocblas_layer_mode_ex and the ability to print kernel calls in the trace and profile logs
  • Expanded batched and strided_batched sample programs.

Optimized

  • Improved general performance of LU factorization
  • Increased parallelism of specialized kernels when compiling from source, reducing build times on multi-core systems.

Changed

  • The rocsolver-test client now prints the rocSOLVER version used to run the tests,
    rather than the version used to build them
  • The rocsolver-bench client now prints the rocSOLVER version used in the benchmark

Fixed

  • Added missing stdint.h include to rocsolver.h

rocSOLVER 3.15.0 for ROCm 4.5.2

10 Dec 19:20
Compare
Choose a tag to compare

rocSOLVER code for ROCm 4.5.2 is unchanged from rocSOLVER for ROCm 4.5.0. The library was rebuilt for the updated ROCm 4.5.2 stack.

rocSOLVER 3.15.0 for ROCm 4.5.0

27 Oct 21:34
Compare
Choose a tag to compare

Added

  • Eigensolver routines for symmetric/hermitian matrices using Divide and Conquer algorithm:
    • STEDC
    • SYEVD (with batched and strided_batched versions)
    • HEEVD (with batched and strided_batched versions)
  • Generalized symmetric- and hermitian-definite eigensolvers using Divide and Conquer algorithm:
    • SYGVD (with batched and strided_batched versions)
    • HEGVD (with batched and strided_batched versions)
  • Added --mem_query option to rocsolver-bench, which will print the amount of device memory required
    by a function.
  • Added --profile option to rocsolver-bench, which will print profile logging results for a function.
  • RQ factorization routines:
    • GERQ2, GERQF (with batched and strided_batched versions)
  • Linear solvers for general square systems:
    • GESV (with batched and strided_batched versions)
  • Linear solvers for symmetric/hermitian positive definite systems:
    • POTRS (with batched and strided_batched versions)
    • POSV (with batched and strided_batched versions)
  • Inverse of symmetric/hermitian positive definite matrices:
    • POTRI (with batched and strided_batched versions)
  • General matrix inversion without pivoting:
    • GETRI_NPVT (with batched and strided_batched versions)
    • GETRI_NPVT_OUTOFPLACE (with batched and strided_batched versions)

Optimized

  • Improved performance of LU factorization (especially for large matrix sizes)

Changed

  • The -h option of install.sh now prints a help message, instead of doing nothing.
  • libfmt 7.1 is now a dependency
  • Raised minimum requirement for building rocSOLVER from source to CMake 3.13
  • Raised reference LAPACK version used for rocSOLVER test and benchmark clients to v3.9.1
  • Minor CMake improvements for users building from source without install.sh:
    • Removed fmt::fmt from rocsolver's public usage requirements
    • Enabled small-size optimizations by default
  • Split packaging into a runtime package ('rocsolver') and a development package ('rocsolver-devel').
    The development package depends on the runtime package. To aid in the transition, the runtime
    package suggests the development package (except on CentOS 7). This use of the suggests feature
    is deprecated and will be removed in a future ROCm release.

Fixed

  • Use of the GCC / Clang __attribute__((deprecated(...))) extension is now guarded by compiler
    detection macros.

rocSOLVER 3.13.0 for ROCm 4.3.1

27 Aug 17:42
313bfc2
Compare
Choose a tag to compare

No changes made for ROCm 4.3.1.

rocSOLVER 3.13.0 for ROCm 4.3.0

30 Jul 22:54
313bfc2
Compare
Choose a tag to compare

Added

  • Linear solvers for general non-square systems:
    • GELS now supports underdetermined and transposed cases
  • Inverse of triangular matrices
    • TRTRI (with batched and strided_batched versions)
  • Out-of-place general matrix inversion
    • GETRI_OUTOFPLACE (with batched and strided_batched versions)

Optimizations

  • Improved general performance of matrix inversion (GETRI)

Changed

  • Argument names for the benchmark client now match argument names from the public API

Removed

Fixed

  • Fixed known issues with Thin-SVD. The problem was identified in the test specification, not in the thin-SVD
    implementation or the rocBLAS gemm_batched routines.
  • Benchmark client will no longer crash as a result of leading dimension or stride arguments not being provided
    on the command line.

Known Issues

rocSOLVER-3.12.0 for ROCm 4.2.0

10 May 23:17
124b3bc
Compare
Choose a tag to compare

Added

  • Multi-level logging functionality
  • Implementation of the Thin-SVD algorithm
  • Reductions of generalized symmetric- and hermitian-definite eigenproblems:
    • SYGS2, SYGST (with batched and strided_batched versions)
    • HEGS2, HEGST (with batched and strided_batched versions)
  • Symmetric and hermitian matrix eigensolvers:
    • SYEV (with batched and strided_batched versions)
    • HEEV (with batched and strided_batched versions)
  • Generalized symmetric- and hermitian-definite eigensolvers:
    • SYGV (with batched and strided_batched versions)
    • HEGV (with batched and strided_batched versions)

Optimizations

Changed

  • Sorting method in STERF as original quick-sort was failing for large sizes.

Removed

  • Removed hcc compiler support

Fixed

  • Fixed GELS overwriting B even when info != 0
  • Error when calling STEQR with n=1 from batched routines
  • Added roc::rocblas to the roc::rocsolver CMake usage requirements
  • Added rocblas to the dependency list of the rocsolver deb and rpm packages

Known Issues

  • Thin-SVD implementation is failing in some cases (in particular m=300, n=120) due to a possible bug in the gemm_batched routines of rocBLAS.

rocSOLVER-3.11.0 for ROCm 4.1.0

23 Mar 01:18
862b24e
Compare
Choose a tag to compare

Added

  • Eigensolver routines for symmetric/hermitian matrices:
    • STERF, STEQR
  • Linear solvers for general non-square systems:
    • GELS (API added with batched and strided_batched versions. Only the overdetermined
      non-transpose case is implemented in this release. Other cases will return
      rocblas_status_not_implemented status for now.)
  • Extended test coverage for functions returning info
  • Changelog file
  • Tridiagonalization routines for symmetric and hermitian matrices:
    • LATRD
    • SYTD2, SYTRD (with batched and strided_batched versions)
    • HETD2, HETRD (with batched and strided_batched versions)
  • Sample code and unit test for unified memory model/Heterogeneous Memory Management (HMM)

Optimizations

  • Improved performance of LU factorization of small and mid-size matrices (n <= 2048)

Changed

  • Raised minimum requirement for building rocSOLVER from source to CMake 3.8
  • Switched to use semantic versioning for the library
  • Enabled automatic reallocation of memory workspace in rocsolver clients

Removed

  • Removed -DOPTIMAL from the roc::rocsolver CMake usage requirements. This is an internal
    rocSOLVER definition, and does not need to be defined by library users

Fixed

  • Fixed runtime errors in debug mode caused by incorrect kernel launch bounds
  • Fixed complex unit test bug caused by incorrect zaxpy function signature
  • Eliminated a small memory transfer that was being done on the default stream
  • Fixed GESVD right singular vectors for 1x1 matrices

rocSOLVER-3.10.0 for ROCm 4.0.0

18 Dec 15:23
6b820a8
Compare
Choose a tag to compare

New Features

  • No new features

Known Issues

  • None

rocSOLVER-3.10.0 for ROCm 3.10.0

30 Nov 17:02
6b820a8
Compare
Choose a tag to compare

Added

  • Orthonormal/Unitary matrix generator routines (reverse order):
    ORG2L, UNG2L, ORGQL, UNGQL
    ORGTR, UNGTR
  • Orthonormal/Unitary matrix multiplications routines (reverse order):
    ORM2L, UNM2L, ORMQL, UNMQL
    ORMTR, UNMTR

Changed

  • Major library refactoring to adopt rocBLAS memory model

Fixed

  • Returned values in parameter info of functions dealing with singularities

Known Issues

  • None

rocSOLVER-3.9.0 for ROCm 3.9.0

27 Oct 20:13
c2cd214
Compare
Choose a tag to compare

New Features

  • Added Singular Value Decomposition (SVD)
  • Added QL factorization
  • Improved batch functionality by enabling use of rocBLAS bacthed functions
  • Improved unit test robustness
  • Added option to build documentation from source
  • Other improvements to code and library infrastructure

Known Issues

  • None