Skip to content

Latest commit

 

History

History
350 lines (240 loc) · 10.4 KB

CHANGELOG.md

File metadata and controls

350 lines (240 loc) · 10.4 KB

Changelog for hipBLAS

Documentation for hipBLAS is available at https://rocm.docs.amd.com/projects/hipBLAS/en/latest/.

(Unreleased) hipBLAS 2.3.0

Added

  • Level 3 functions have an additional ILP64 API for both C and FORTRAN (_64 name suffix) with int64_t function arguments.

Changed

  • amdclang is used as the default compiler instead of g++

hipBLAS 2.2.0 for ROCm 6.2.0

Additions

  • Level 2 functions have additional ILP64 API for both C and FORTRAN (_64 name suffix) with int64_t function arguments
  • Level 1 "_ex" functions have additional ILP64 API

Changes

  • install.sh script invokes rmake.py script, along with various improvements within the build scripts
  • Library dependencies in install.sh script have been changed from "rocblas" and "rocsolver" to the development packages "rocblas-dev" and "rocsolver-dev"
  • Linux AOCL dependency updated to release 4.2 gcc build
  • Windows vcpkg dependencies updated to release 2024.02.14

hipBLAS 2.1.0 for ROCm 6.1.0

Additions

  • New build option to automatically use hipconfig --platform to determine HIP platform
  • Level 1 functions have additional ILP64 API for both C and Fortran (_64 name suffix) with int64_t function arguments
  • New functions hipblasGetMathMode and hipblasSetMathMode

Deprecations

  • USE_CUDA build option; use HIP_PLATFORM=amd or HIP_PLATFORM=nvidia to override hipconfig

Changes

  • Some Level 2 function argument names have changed from m to n to match legacy BLAS; there was no change in implementation.
  • Updated client code to use YAML-based testing
  • Renamed .doxygen and .sphinx folders to doxygen and sphinx, respectively
  • Added CMake support for documentation

hipBLAS 2.0.0 for ROCm 6.0.0

Additions

  • New option to define HIPBLAS_USE_HIP_BFLOAT16 to switch API to use the hip_bfloat16 type
  • New hipblasGemmExWithFlags API

Deprecations

  • hipblasDatatype_t; use hipDataType instead
  • hipblasComplex; use hipComplex instead
  • hipblasDoubleComplex; use hipDoubleComplex instead
  • Use of hipblasDatatype_t for hipblasGemmEx for compute-type; use hipblasComputeType_t instead

Removals

  • hipblasXtrmm (calculates B <- alpha * op(A) * B) has been replaced with hipblasXtrmm (calculates C <- alpha * op(A) * B)

hipBLAS 1.1.0 for ROCm 5.7.0

Changes

  • Updated documentation requirements

Dependencies

  • rocSOLVER now depends on rocSPARSE

hipBLAS 1.0.0 for ROCm 5.6.0

Changes

  • Added const qualifier to hipBLAS functions (swap, sbmv, spmv, symv, trsm) where missing

Removals

  • hipblasInt8Datatype_t enum
  • hipblasSetInt8Datatype
  • hipblasGetInt8Datatype functions

Deprecations

  • In-place trmm will be replaced by trmm that includes both in-place and out-of-place functionality

hipBLAS 0.54.0 for ROCm 5.5.0

Additions

  • Optional opt-in to use the __half for hipblasHalf type (with C++) when you define HIPBLAS_USE_HIP_HALF
  • added scripts to plot performance for multiple functions
  • data driven hipblas-bench and hipblas-test execution via external yaml format data files
  • client smoke test added for quick validation using command hipblas-test --yaml hipblas_smoke.yaml

Fixes

  • Data type conversion functions support more rocBLAS and cuBLAS data types
  • geqrf now returns successfully when nullptrs are passed with n == 0 || m == 0
  • getrs now returns successfully when given nullptrs with corresponding size = 0
  • getrs gives info = -1 when transpose is not an expected type
  • gels now returns successfully when given nullptrs with corresponding size = 0
  • gels now gives info = -1 when transpose is not in ('N', 'T') for real cases and not in ('N', 'C') for complex cases

Changes

  • Changed reference code for Windows to OpenBLAS
  • hipBLAS client executables all now begin with the hipblas- prefix

hipBLAS 0.53.0 for ROCm 5.4.0

Additions

  • Allow for selection of int8 data type
  • Added support for hipblasXgels and hipblasXgelsStridedBatched operations (with s,d,c,z precisions), only supported with rocBLAS backend
  • Added support for hipblasXgelsBatched operations (with s,d,c,z precisions)

hipBLAS 0.52.0 for ROCm 5.3.0

Additions

  • New --cudapath option in install.sh, which allows you to specify the CUDA build you want to use
  • New --installcuda option in install.sh to install CUDA using a package manager (this can also be used with the new --installcudaversion option that allows you to specify the CUDA version you want to install)

Fixes

  • #includes now support a compiler version
  • Fixed client dependency support in install.sh

hipBLAS 0.51.0 for ROCm 5.2.0

Additions

  • New packages for test and benchmark executables on all supported operating systems using CPack
  • Added file and folder reorganization changes with backward compatibility support for rocm-cmake wrapper functions
  • Added user-specified initialization option to hipblas-bench

Fixes

  • Version gathering in performance-measuring script

hipBLAS 0.50.0 for ROCm 5.1.0

Additions

  • hipblas-test output now has library version and device information
  • New --rocsolver-path command line option that you can use to specify a path (absolute or relative) to the pre-built rocSOLVER
  • Added --cmake_install command line option to update CMake to the minimum version
  • Added cmake-arg parameter to pass in cmake arguments while building
  • ReadtheDocs infrastructure support for the hipBLAS documentation

Fixes

  • Added hipblasVersionMinor ( hipblaseVersionMinor remains for backwards compatibility)
  • Doxygen warnings in hipblas.h header file

Changes

  • rocblas-path command line option can be specified as absolute or relative path
  • Help message improvements in install.sh and rmake.py
  • Updated GoogleTest dependency from 1.10.0 to 1.11.0

hipBLAS 0.49.0 for ROCm 5.0.0

Additions

  • hipblas-bench rocSOLVER functions
  • Added ROCM_MATHLIBS_API_USE_HIP_COMPLEX to opt-in to use hipFloatComplex and hipDoubleComplex
  • Compilation warning for future trmm changes
  • hipblas.h documentation
  • Added option to forgo pivoting for getrf and getri when ipiv is nullptr
  • Code coverage option

Fixes

  • Use of incorrect HIP_PATH when building from source
  • Windows packaging
  • Allowing negative increments in hipblas-bench
  • Removed boost dependency

hipBLAS 0.48.0 for ROCm 4.5.0

Additions

  • Additional support for hipblas-bench
  • HIPBLAS_STATUS_UNKNOWN for unsupported backend status codes

Fixes

  • Avoid large offset overflow for gemv and hemv in hipblas-test

Changes

  • Packaging has been split into a runtime package (hipblas) and a development package (hipblas-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. The suggestion feature in the runtime package is introduced as a deprecated feature and will be removed in a future ROCm release.

hipBLAS 0.46.0 for ROCm 4.3.0

Additions

  • hipblasStatusToString

Fixes

  • Added catch() blocks around API calls to prevent the leak of C++ exceptions

hipBLAS 0.44.0 for ROCm 4.2.0

Additions

  • Updates for rocBLAS gemm_ex changes: When using the rocBLAS backend, hipBLAS queries the preferable layout of int8 data passed to gemm_ex and passes in the resulting flag (you must specify your preferred data format when calling gemm_ex with a rocBLAS backend)
  • Added hipblas-bench with support for copy, swap, and scal

hipBLAS 0.42.0 for ROCm 4.1.0

Additions

  • Added the following functions, which include batched and strided-batched support with the rocBLAS backend:
    • axpy_ex
    • dot_ex
    • nrm2_ex
    • rot_ex
    • scal_ex

Fixes

  • Complex unit test bug caused by incorrect caxpy and zaxpy function signatures

hipBLAS 0.40.0 for ROCm 4.0.0

Additions

  • Added a changelog
  • hipblas-bench, with support for gemv, trsm, and gemm
  • rocSOLVER is now a CPack dependency

hipBLAS 0.38.0 for ROCm 3.10.0

Additions

  • hipblasSetAtomicsMode and hipblasGetAtomicsMode
  • Build doesn't look for CUDA backend unless --cuda flag is passed

hipBLAS 0.36.0 for ROCm 3.9.0

Additions

  • Device memory reallocates on demand

hipBLAS 0.34.0 for ROCm 3.8.0

Additions

  • --static build flag allows the creation of a static library

hipBLAS 0.32.0 for ROCm 3.7.0

Additions

  • --rocblas-path command line option to choose path to pre-built rocBLAS
  • sgetriBatched
  • dgetriBatched
  • cgetriBatched
  • zgetriBatched
  • TrsmEx
  • TrsmBatchedEx
  • TrsmStridedBatchedEx
  • hipblasSetVectorAsync
  • hipblasGetVectorAsync
  • hipblasSetMatrixAsync
  • hipblasGetMatrixAsync
  • Fortran support for getrf, getrs, geqrf, and all variants thereof

hipBLAS 0.30.0 for ROCm 3.6.0

Additions

  • Added the following functions, which include batched and strided-batched support with the rocBLAS backend:
    • stbsv, dtbsv, ctbsv, ztbsv
    • ssymm, dsymm, csymm, zsymm
    • cgeam, zgeam
    • chemm, zhemm
    • strtri, dtrtri, ctrtri, `ztrtri
    • sdgmm, ddgmm, cdgmm, zdgmm
  • GemmBatchedEx and GemmStridedBatchedEx
  • Fortran support for BLAS functions

hipBLAS 0.28.0 for ROCm 3.5.0

Additions

  • Added the following functions, which include batched and strided-batched support with the rocBLAS backend:
    • sgbmv, dgbmv, cgbmv, zgbmv
    • chemv, zhemv
    • stbmv, dtbmv, ctbmv, ztbmv
    • strmv, trmv, ctrmv, ztrmv
    • chbmv, zhbmv
    • cher, zher
    • cher2, zher2
    • chpmv, zhpmv
    • chpr, zhpr
    • chpr2, zhpr2
    • ssbmv, dsbmv
    • sspmv, dspmv
    • ssymv, dsymv, csymv, zsymv
    • stpmv, dtpmv, ctpmv, ztpmv
    • cgeru, cgerc, zgeru, zgerc
    • sspr, dspr, cspr, zspr
    • sspr2, dspr2
    • csyr, zsyr
    • ssyr2, dsyr2, csyr2, zsyr2
    • stpsv, dtpsv, ctpsv, ztpsv
    • ctrsv, ztrsv
    • cherk, zherk
    • cherkx, zherkx
    • cher2k, zher2k
    • ssyrk, dsyrk, csyrk, zsyrk
    • ssyr2k, dsyr2k, csyr2k, zsyr2k
    • ssyrkx, dsyrkx, csyrkx, zsyrkx
    • ctrmm, ztrmm
    • ctrsm, ztrsm