Skip to main content
`Ctrl`+`K`

# Deprecations by version

This topic lists the deprecated hipBLAS API elements by release, from newest to oldest.

## Removed in hipBLAS 3.0

`hipblasDatatype_t` was replaced with `hipDataType` in hipBLAS 3.0. All functions which previously used `hipblasDatatype_t` now use `hipDataType` for every instance, except for as the `compute_type` in GEMM functions, in which `hipblasComputeType_t` is now used.

`hipblasComplex` and `hipblasDoubleComplex` were replaced with `hipComplex` and `hipDoubleComplex` in hipBLAS 3.0.

## Announced in hipBLAS 2.0

### hipblasDatatype_t will be replaced with hipDataType

Use of `hipblasDatatype_t` will give deprecation warnings telling you to compile with `-DHIPBLAS_V2` and to use `hipDataType` instead. All functions which currently use `hipblasDatatype_t` are therefore deprecated as well and will be replaced with functions which use `hipDataType` in the place of `hipblasDatatype_t`. These functions include: `hipblasTrsmEx`, `hipblasGemmEx`, `hipblasGemmExWithFlags`, `hipblasAxpyEx`, `hipblasDot(c)Ex`, `hipblasNrm2Ex`, `hipblasRotEx`, `hipblasScalEx`, and the batched and strided-batched variants of these. See the documentation for each function for more information.

Note that there are no deprecation warnings for the hipBLAS Fortran API.

`hipblasDatatype_t` will be removed in a future release, and the use of this type in the API will be replaced with `hipDataType`.

### hipblasComplex and hipblasDoubleComplex will be replaced by hipComplex and hipDoubleComplex

Use of these datatypes will give deprecation warnings telling you to compile with `-DHIPBLAS_V2` and to use HIP complex types instead. All functions which currently use `hipblasComplex` and `hipblasDoubleComplex` are therefore deprecated as well and will be replaced with functions which use `hipComplex` and `hipDoubleComplex` in their place.

Note that there are no deprecation warnings for the hipBLAS Fortran API.

`hipComplex` and `hipDoubleComplex` will be removed in a future release, and the use of this type in the API will be replaced by `hipComplex` and `hipDoubleComplex`.

`ROCM_MATHLIBS_API_USE_HIP_COMPLEX` is also deprecated as the behavior provided by defining it will be the default in the future.

## Removed in hipBLAS 2.0

### Legacy BLAS in-place trmm is removed

The legacy BLAS in-place `hipblasXtrmm` that calculates `B <- alpha * op(A) * B` is removed and replaced with the out-of-place `hipblasXtrmm` that calculates `C <- alpha * op(A) * B`.

The prototype for the removed legacy BLAS in-place functionality was

    hipblasStatus_t hipblasStrmm(hipblasHandle_t    handle,
                                 hipblasSideMode_t  side,
                                 hipblasFillMode_t  uplo,
                                 hipblasOperation_t transA,
                                 hipblasDiagType_t  diag,
                                 int                m,
                                 int                n,
                                 const float*       alpha,
                                 const float*       A,
                                 int                lda,
                                 float*             B,
                                 int                ldb);

The prototype for the replacement in-place and out-of-place functionality is

    hipblasStatus_t hipblasStrmm(hipblasHandle_t    handle,
                                 hipblasSideMode_t  side,
                                 hipblasFillMode_t  uplo,
                                 hipblasOperation_t transA,
                                 hipblasDiagType_t  diag,
                                 int                m,
                                 int                n,
                                 const float*       alpha,
                                 const float*       A,
                                 int                lda,
                                 const float*       B,
                                 int                ldb,
                                 float*             C,
                                 int                ldc);

The legacy BLAS in-place functionality can be obtained with the new function if you set pointer `C` equal to pointer `B` and `ldc` equal to `ldb`.

The out-of-place functionality is from setting pointer `B` so it is distinct from pointer `C`.

## Announced in hipBLAS 1.0

### Legacy BLAS in-place trmm functions will be replaced with trmm functions that support both in-place and out-of-place functionality

Use of the deprecated Legacy BLAS in-place trmm functions will give deprecation warnings telling you to compile with `-DHIPBLAS_V1` and use the new in-place and out-of-place trmm functions.

Note that there are no deprecation warnings for the hipBLAS Fortran API.

The Legacy BLAS in-place trmm calculates `B <- alpha * op(A) * B`. Matrix B is overwritten by triangular matrix A multiplied by matrix B. The prototype in the include file `rocblas-functions.h` is:

    hipblasStatus_t hipblasStrmm(hipblasHandle_t    handle,
                                 hipblasSideMode_t  side,
                                 hipblasFillMode_t  uplo,
                                 hipblasOperation_t transA,
                                 hipblasDiagType_t  diag,
                                 int                m,
                                 int                n,
                                 const float*       alpha,
                                 const float*       AP,
                                 int                lda,
                                 float*             BP,
                                 int                ldb);

The above is replaced by an in-place and out-of-place trmm that calculates `C <- alpha * op(A) * B`. The prototype is:

    hipblasStatus_t hipblasStrmmOutofplace(hipblasHandle_t    handle,
                                           hipblasSideMode_t  side,
                                           hipblasFillMode_t  uplo,
                                           hipblasOperation_t transA,
                                           hipblasDiagType_t  diag,
                                           int                m,
                                           int                n,
                                           const float*       alpha,
                                           const float*       AP,
                                           int                lda,
                                           const float*       BP,
                                           int                ldb,
                                           float*             CP,
                                           int                ldc);

The new API provides the legacy BLAS in-place functionality if you set pointer `C` equal to pointer `B` and `ldc` equal to `ldb`.

There are similar deprecations for the `_batched` and `_strided_batched` versions of trmm.

## Removed in hipBLAS 1.0

### HIPBLAS_INT8_DATATYPE_PACK_INT8x4 hipblasGemmEx support removed

Packed int8x4 is removed as support for arbitrary dimensioned `int8_t data` is a superset of this functionality:

- enum `hipblasInt8Datatype_t` is removed

- function `hipblasSetInt8Datatype` is removed

- function `hipblasGetInt8Datatype` is removed

## Announced in hipBLAS 0.53

### packed_int8x4 datatype will be removed

The `packed_int8x4` datatype will be removed in hipBLAS 1.0. There are two `int8` datatypes:

- `int8_t`

- `packed_int8x4`

`int8_t` is the C99 unsigned 8-bit integer. `packed_int8x4` has 4 consecutive `int8_t` numbers in the k dimension packed into 32 bits. `packed_int8x4` is only used in `hipblasGemmEx`. `int8_t` will continue to be available in `hipblasGemmEx`.

## Announced in hipBLAS 0.49

### Inplace hipblasXtrmm will be replaced with out-of-place hipblasXtrmm

The `hipblasXtrmm` API, along with batched versions, will be changing in hipBLAS 1.0 release to allow in-place and out-of-place behavior. This change will introduce an output matrix `C`, matching the `rocblas_xtrmm_outofplace` API and the `cublasXtrmm` API.