File: deprecations.rst

package info (click to toggle)
rocblas 6.4.4-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,082,776 kB
  • sloc: cpp: 244,923; f90: 50,012; python: 50,003; sh: 24,630; asm: 8,917; makefile: 151; ansic: 107; xml: 36; awk: 14
file content (196 lines) | stat: -rw-r--r-- 8,494 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
.. meta::
  :description: rocBLAS documentation and API reference library
  :keywords: rocBLAS, ROCm, API, Linear Algebra, documentation

.. _rocblas-deprecations:

********************************************************************
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 <https://github.com/ROCm/hipBLASLt>`_ for future 8-bit float usage.

Announced in rocBLAS 4.0
=========================

Atomic operations will be disabled by default
'''''''''''''''''''''''''''''''''''''''''''''

The default :any:`rocblas_atomics_mode` in :any:`rocblas_handle` will change in the future to :any:`rocblas_atomics_not_allowed` from the current :any:`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 :any:`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 in ``rocblas_gemm_flags`` was removed
* struct ``rocblas_int8x4`` was removed
* function ``rocblas_query_int8_layout_flag`` was removed
* enum ``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 function ``rocblas_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.