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
416 lines
14 KiB
ReStructuredText
416 lines
14 KiB
ReStructuredText
.. meta::
|
|
:description: rocBLAS documentation and API reference library
|
|
:keywords: rocBLAS, ROCm, API, Linear Algebra, documentation
|
|
|
|
.. _level-3:
|
|
|
|
********************************************************************
|
|
rocBLAS Level-3 functions
|
|
********************************************************************
|
|
|
|
rocBLAS Level-3 functions perform matix-matrix operations. [Level3]_
|
|
|
|
Level-3 functions support the ILP64 API. For more information on these ``_64`` functions, see the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_gemm:
|
|
|
|
rocblas_Xgemm + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_sgemm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dgemm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_hgemm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_cgemm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zgemm
|
|
|
|
``gemm`` functions support the ``_64`` interface. However, no arguments larger than ``(int32_t max value * 16)`` are currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_sgemm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dgemm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_hgemm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_cgemm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zgemm_batched
|
|
|
|
``gemm_batched`` functions support the ``_64`` interface. Only the parameter ``batch_count`` larger than ``(int32_t max value * 16)`` is currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_sgemm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dgemm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_hgemm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_cgemm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zgemm_strided_batched
|
|
|
|
``gemm_strided_batched`` functions support the ``_64`` interface. Only the parameter ``batch_count`` larger than ``(int32_t max value * 16)`` is currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_symm:
|
|
|
|
rocblas_Xsymm + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_ssymm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsymm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csymm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsymm
|
|
|
|
The ``symm`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssymm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsymm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csymm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsymm_batched
|
|
|
|
The ``symm_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssymm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsymm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csymm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsymm_strided_batched
|
|
|
|
The ``symm_strided_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_syrk:
|
|
|
|
rocblas_Xsyrk + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_ssyrk
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrk
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrk
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrk
|
|
|
|
The ``syrk`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyrk_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrk_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrk_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrk_batched
|
|
|
|
The ``syrk_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyrk_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrk_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrk_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrk_strided_batched
|
|
|
|
The ``syrk_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_syr2k:
|
|
|
|
rocblas_Xsyr2k + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_ssyr2k
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyr2k
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyr2k
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyr2k
|
|
|
|
The ``syr2k`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyr2k_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyr2k_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyr2k_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyr2k_batched
|
|
|
|
The ``syr2k_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyr2k_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyr2k_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyr2k_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyr2k_strided_batched
|
|
|
|
The ``syr2k_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_syrkx:
|
|
|
|
rocblas_Xsyrkx + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_ssyrkx
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrkx
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrkx
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrkx
|
|
|
|
The ``syrkx`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyrkx_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrkx_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrkx_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrkx_batched
|
|
|
|
The ``syrkx_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_ssyrkx_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dsyrkx_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_csyrkx_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zsyrkx_strided_batched
|
|
|
|
The ``syrkx_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_trmm:
|
|
|
|
rocblas_Xtrmm + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_strmm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrmm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrmm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrmm
|
|
|
|
The ``trmm`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``2^28`` not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_strmm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrmm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrmm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrmm_batched
|
|
|
|
The ``trmm_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``2^28`` are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_strmm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrmm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrmm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrmm_strided_batched
|
|
|
|
The ``trmm_strided_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``2^28`` are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_trsm:
|
|
|
|
rocblas_Xtrsm + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_strsm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrsm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrsm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrsm
|
|
|
|
The ``trsm`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
For more information on pre-allocated memory in the handle, see the
|
|
:ref:`Device Memory Allocation <Device Memory Allocation Usage>`.
|
|
|
|
.. doxygenfunction:: rocblas_strsm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrsm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrsm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrsm_batched
|
|
|
|
The ``trsm_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
For more information on pre-allocated memory in the handle, see the
|
|
:ref:`Device Memory Allocation <Device Memory Allocation Usage>`.
|
|
|
|
.. doxygenfunction:: rocblas_strsm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrsm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ctrsm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_ztrsm_strided_batched
|
|
|
|
The ``trsm_strided_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
For more information on pre-allocated memory in the handle, see the
|
|
:ref:`Device Memory Allocation <Device Memory Allocation Usage>`.
|
|
|
|
.. _rocblas_hemm:
|
|
|
|
rocblas_Xhemm + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_chemm
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zhemm
|
|
|
|
The ``hemm`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_chemm_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zhemm_batched
|
|
|
|
The ``hemm_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_chemm_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zhemm_strided_batched
|
|
|
|
The ``hemm_strided_batched`` functions support the ``_64`` interface. Parameter ``m`` for left side, or ``n`` with right side, larger than ``int32_t`` max value are not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_herk:
|
|
|
|
rocblas_Xherk + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_cherk
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherk
|
|
|
|
The ``herk`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cherk_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherk_batched
|
|
|
|
The ``herk_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cherk_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherk_strided_batched
|
|
|
|
The ``herk_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_her2k:
|
|
|
|
rocblas_Xher2k + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_cher2k
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zher2k
|
|
|
|
The ``her2k`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cher2k_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zher2k_batched
|
|
|
|
The ``her2k_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cher2k_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zher2k_strided_batched
|
|
|
|
The ``her2k_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_herkx:
|
|
|
|
rocblas_Xherkx + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_cherkx
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherkx
|
|
|
|
The ``herkx`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cherkx_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherkx_batched
|
|
|
|
The ``herkx_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. doxygenfunction:: rocblas_cherkx_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_zherkx_strided_batched
|
|
|
|
The ``herkx_strided_batched`` functions support the ``_64`` interface. Parameter ``n`` larger than ``int32_t`` max value is not currently supported.
|
|
See the :ref:`ILP64 API` section.
|
|
|
|
.. _rocblas_trtri:
|
|
|
|
rocblas_Xtrtri + batched, strided_batched
|
|
=========================================
|
|
|
|
.. doxygenfunction:: rocblas_strtri
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrtri
|
|
|
|
.. doxygenfunction:: rocblas_strtri_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrtri_batched
|
|
|
|
.. doxygenfunction:: rocblas_strtri_strided_batched
|
|
:outline:
|
|
.. doxygenfunction:: rocblas_dtrtri_strided_batched
|