rocBLAS deprecations by version#
The following sections list the features deprecation by release version.
Announced in rocBLAS 4.3#
rocblas_Xgemm_kernel_name APIs deprecated#
rocblas_Xgemm_kernel_name
APIs are deprecated and will be removed in the next major release of rocBLAS.
Announced in rocBLAS 4.2#
gemm_ex3 deprecation for all 8 bit float API#
rocblas_gemm_ex3
, gemm_batched_ex3
, and gemm_strided_batched_ex3
are deprecated and will be removed in the next
major release of rocBLAS. See hipBLASLt for future 8-bit float usage.
Announced in rocBLAS 4.0#
Atomic operations will be disabled by default#
The default rocblas_atomics_mode
in rocblas_handle
will change in the future to rocblas_atomics_not_allowed
from the current rocblas_atomics_allowed
.
Thus the default will allow for improved determinism over performance.
Users can add explicit control and not be affected by this change by calling the function rocblas_set_atomics_mode()
.
Removed in rocBLAS 4.0#
rocblas_gemm_ext2 removed#
rocblas_gemm_ext2
API function was removed in 4.0.
rocblas_gemm_flags_pack_int8x4 gemm support removed#
Packed int8x4 support was removed as support for arbitrary dimensioned int8_t data is a superset of this functionality:
rocblas_gemm_flags_pack_int8x4
enum value inrocblas_gemm_flags
was removedstruct
rocblas_int8x4
was removedfunction
rocblas_query_int8_layout_flag
was removedenum
rocblas_int8_type_for_hipblas
type was removed
Legacy BLAS in-place trmm API removed#
The Legacy BLAS in-place trmm API is removed. It is replaced by an API that supports both in-place and out-of-place trmm. The Legacy BLAS in-place trmm calculated
B <- alpha * op(A) * B
The in-place and out-of-place trmm API calculates
C <- alpha * op(A) * B
The in-place functionality is available by setting C the same as B and ldb = ldc
. For out-of-place functionality C and B are different.
Removal of __STDC_WANT_IEC_60559_TYPES_EXT__ define#
The #define __STDC_WANT_IEC_60559_TYPES_EXT__
has been removed from rocblas-types.h
. Users who want ISO/IEC TS 18661-3:2015 functionality
must define __STDC_WANT_IEC_60559_TYPES_EXT__
before including float.h
, math.h
, and rocblas.h
.
Announced in rocBLAS 3.1#
Removal of __STDC_WANT_IEC_60559_TYPES_EXT__ define#
Prior to rocBLAS 4.0, __STDC_WANT_IEC_60559_TYPES_EXT__
was defined in rocblas.h
, or more specifically rocblas-types.h
, before including float.h
. From rocBLAS 4.0, this
define will be removed. Users who want ISO/IEC TS 18661-3:2015 functionality must define __STDC_WANT_IEC_60559_TYPES_EXT__
before including float.h
and rocblas.h
.
Announced in rocBLAS 3.0#
Replace Legacy BLAS in-place trmm functions 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 -DROCBLAS_V3
and use the new in-place and out-of-place trmm functions.
Note that there are no deprecation warnings for the rocBLAS Fortran API.
The Legacy BLAS in-place trmm
calculates B <- alpha * op(A) * B
. Matrix B is replaced in-place by
triangular matrix A multiplied by matrix B. The prototype in the include file rocblas-functions.h
is:
rocblas_status rocblas_strmm(rocblas_handle handle,
rocblas_side side,
rocblas_fill uplo,
rocblas_operation transA,
rocblas_diagonal diag,
rocblas_int m,
rocblas_int n,
const float* alpha,
const float* A,
rocblas_int lda,
float* B,
rocblas_int ldb);
rocBLAS 3.0 deprecates the legacy BLAS trmm
functionality and replaces it with C <- alpha * op(A) * B
. The prototype is:
rocblas_status rocblas_strmm(rocblas_handle handle,
rocblas_side side,
rocblas_fill uplo,
rocblas_operation transA,
rocblas_diagonal diag,
rocblas_int m,
rocblas_int n,
const float* alpha,
const float* A,
rocblas_int lda,
const float* B,
rocblas_int ldb,
float* C,
rocblas_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
.
Remove rocblas_gemm_ext2#
rocblas_gemm_ext2
is deprecated and it will be removed in the next major release of rocBLAS.
Removal of rocblas_query_int8_layout_flag#
rocblas_query_int8_layout_flag
will be removed and support will end for the rocblas_gemm_flags_pack_int8x4
enum in rocblas_gemm_flags
in a future release. rocblas_int8_type_for_hipblas
will remain until rocblas_query_int8_layout_flag
is removed.
Remove user_managed mode from rocblas_handle#
From rocBLAS 4.0, the schemes for allocating temporary device memory would be reduced to two from four.
Existing four schemes are:
rocblas_managed
user_managed, preallocate
user_managed, manual
user_owned
From rocBLAS 4.0, the two schemes would be rocblas_managed and user_owned. The functionality of user_managed ( both preallocate and manual) would be combined into rocblas_managed scheme.
Due to this the following APIs would be affected:
rocblas_is_user_managing_device_memory()
will be removed.rocblas_set_device_memory_size()
will be replaced by a future functionrocblas_increase_device_memory_size()
, this new API would allow users to increase the device memory pool size at runtime.
Announced in rocBLAS 2.45#
Replace is_complex by rocblas_is_complex#
From rocBLAS 3.0 the trait is_complex
for rocblas complex types has been removed. Replace with rocblas_is_complex
.
Replace truncate with rocblas_truncate#
From rocBLAS 3.0 enum truncate_t
and the value truncate has been removed and replaced by rocblas_truncate_t
and rocblas_truncate
, respectively.
Announced in rocBLAS 2.46#
Remove ability for hipBLAS to set rocblas_int8_type_for_hipblas#
From rocBLAS 3.0, remove enum rocblas_int8_type_for_hipblas
and the functions rocblas_get_int8_type_for_hipblas
and
rocblas_set_int8_type_for_hipblas
. These are used by hipBLAS to select either int8_t
or packed_int8x4
datatype.
In hipBLAS the option to use packed_int8x4
will be removed, only int8_t
will be available.