CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
74 lines
2.9 KiB
ReStructuredText
74 lines
2.9 KiB
ReStructuredText
.. meta::
|
|
:description: rocBLAS documentation and API reference library
|
|
:keywords: rocBLAS, ROCm, API, Linear Algebra, documentation
|
|
|
|
.. _beta-features:
|
|
|
|
********************************************************************
|
|
rocBLAS beta features
|
|
********************************************************************
|
|
|
|
To allow for future growth and changes, the features in this section are not subject to the same
|
|
level of backwards compatibility and support as the normal rocBLAS API. These features are subject
|
|
to change and removal in future release of rocBLAS.
|
|
|
|
To use the following beta API features, define ``ROCBLAS_BETA_FEATURES_API`` before including ``rocblas.h``.
|
|
|
|
rocblas_gemm_ex_get_solutions + batched, strided_batched
|
|
=========================================================
|
|
|
|
.. doxygenfunction:: rocblas_gemm_ex_get_solutions
|
|
.. doxygenfunction:: rocblas_gemm_ex_get_solutions_by_type
|
|
.. doxygenfunction:: rocblas_gemm_batched_ex_get_solutions
|
|
.. doxygenfunction:: rocblas_gemm_batched_ex_get_solutions_by_type
|
|
.. doxygenfunction:: rocblas_gemm_strided_batched_ex_get_solutions
|
|
|
|
Graph support for rocBLAS
|
|
=========================================================
|
|
|
|
Most of the rocBLAS functions can be captured into a graph node via Graph Management HIP APIs,
|
|
except those listed in :ref:`Functions Unsupported with Graph Capture`.
|
|
For a list of graph related HIP APIs, see
|
|
`Graph Management HIP API <https://rocm.docs.amd.com/projects/HIP/en/latest/doxygen/html/group___graph.html#graph-management>`_.
|
|
|
|
The following code creates a graph with ``rocblas_function()`` as graph node.
|
|
|
|
.. code-block:: c++
|
|
|
|
CHECK_HIP_ERROR((hipStreamBeginCapture(stream, hipStreamCaptureModeGlobal));
|
|
rocblas_<function>(<arguments>);
|
|
CHECK_HIP_ERROR(hipStreamEndCapture(stream, &graph));
|
|
|
|
The captured graph can be launched as shown below:
|
|
|
|
.. code-block:: c++
|
|
|
|
CHECK_HIP_ERROR(hipGraphInstantiate(&instance, graph, NULL, NULL, 0));
|
|
CHECK_HIP_ERROR(hipGraphLaunch(instance, stream));
|
|
|
|
Graph support requires asynchronous HIP APIs, so users must enable stream-order memory allocation.
|
|
For more details, see :ref:`stream order alloc`.
|
|
|
|
During stream capture, rocBLAS stores the allocated host and device memory in the handle.
|
|
The allocated memory is freed when the handle is destroyed.
|
|
|
|
.. _Functions Unsupported with Graph Capture:
|
|
|
|
Functions unsupported with Graph Capture
|
|
=========================================================
|
|
|
|
The following Level-1 functions place results into host buffers (in pointer mode host) which enforces synchronization.
|
|
|
|
* ``dot``
|
|
* ``asum``
|
|
* ``nrm2``
|
|
* ``imax``
|
|
* ``imin``
|
|
|
|
BLAS Level-3 and BLAS-EX functions in pointer mode device do not support HIP Graph. Support will be added in a future release.
|
|
|
|
HIP Graph known issues in rocBLAS
|
|
=========================================================
|
|
|
|
On the Windows platform, batched functions (Level-1, Level-2, and Level-3) produce incorrect results.
|