Files
TheRock/rocm-libraries/projects/rocblas/docs/reference/level-1.rst
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

516 lines
15 KiB
ReStructuredText

.. meta::
:description: rocBLAS documentation and API reference library
:keywords: rocBLAS, ROCm, API, Linear Algebra, documentation
.. _level-1:
********************************************************************
rocBLAS Level-1 functions
********************************************************************
rocBLAS Level-1 functions perform scalar, vector, and vector-vector operations. [Level1]_
Level-1 functions support the ILP64 API. For more information on these ``_64``
functions, see the :ref:`ILP64 API` section.
.. _rocblas_amax:
rocblas_iXamax + batched, strided_batched
=========================================
.. doxygenfunction:: rocblas_isamax
:outline:
.. doxygenfunction:: rocblas_idamax
:outline:
.. doxygenfunction:: rocblas_icamax
:outline:
.. doxygenfunction:: rocblas_izamax
The ``amax`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_isamax_batched
:outline:
.. doxygenfunction:: rocblas_idamax_batched
:outline:
.. doxygenfunction:: rocblas_icamax_batched
:outline:
.. doxygenfunction:: rocblas_izamax_batched
The ``amax_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_isamax_strided_batched
:outline:
.. doxygenfunction:: rocblas_idamax_strided_batched
:outline:
.. doxygenfunction:: rocblas_icamax_strided_batched
:outline:
.. doxygenfunction:: rocblas_izamax_strided_batched
The ``amax_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_amin:
rocblas_iXamin + batched, strided_batched
==========================================
.. doxygenfunction:: rocblas_isamin
:outline:
.. doxygenfunction:: rocblas_idamin
:outline:
.. doxygenfunction:: rocblas_icamin
:outline:
.. doxygenfunction:: rocblas_izamin
The ``amin`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_isamin_batched
:outline:
.. doxygenfunction:: rocblas_idamin_batched
:outline:
.. doxygenfunction:: rocblas_icamin_batched
:outline:
.. doxygenfunction:: rocblas_izamin_batched
The ``amin_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_isamin_strided_batched
:outline:
.. doxygenfunction:: rocblas_idamin_strided_batched
:outline:
.. doxygenfunction:: rocblas_icamin_strided_batched
:outline:
.. doxygenfunction:: rocblas_izamin_strided_batched
The ``amin_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_asum:
rocblas_Xasum + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_sasum
:outline:
.. doxygenfunction:: rocblas_dasum
:outline:
.. doxygenfunction:: rocblas_scasum
:outline:
.. doxygenfunction:: rocblas_dzasum
The ``asum`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sasum_batched
:outline:
.. doxygenfunction:: rocblas_dasum_batched
:outline:
.. doxygenfunction:: rocblas_scasum_batched
:outline:
.. doxygenfunction:: rocblas_dzasum_batched
The ``asum_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sasum_strided_batched
:outline:
.. doxygenfunction:: rocblas_dasum_strided_batched
:outline:
.. doxygenfunction:: rocblas_scasum_strided_batched
:outline:
.. doxygenfunction:: rocblas_dzasum_strided_batched
The ``asum_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_axpy:
rocblas_Xaxpy + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_saxpy
:outline:
.. doxygenfunction:: rocblas_daxpy
:outline:
.. doxygenfunction:: rocblas_haxpy
:outline:
.. doxygenfunction:: rocblas_caxpy
:outline:
.. doxygenfunction:: rocblas_zaxpy
The ``axpy`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_saxpy_batched
:outline:
.. doxygenfunction:: rocblas_daxpy_batched
:outline:
.. doxygenfunction:: rocblas_haxpy_batched
:outline:
.. doxygenfunction:: rocblas_caxpy_batched
:outline:
.. doxygenfunction:: rocblas_zaxpy_batched
The ``axpy_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
The ``axpy_batched`` functions support ``rocblas_set_batch_alpha_stride`` when the ``rocblas_handle`` is
in mode ``rocblas_pointer_mode_device``, which interprets ``alpha`` as a per-batch device array. This also
applies to ``axpy_batched_ex``.
.. doxygenfunction:: rocblas_saxpy_strided_batched
:outline:
.. doxygenfunction:: rocblas_daxpy_strided_batched
:outline:
.. doxygenfunction:: rocblas_haxpy_strided_batched
:outline:
.. doxygenfunction:: rocblas_caxpy_strided_batched
:outline:
.. doxygenfunction:: rocblas_zaxpy_strided_batched
The ``axpy_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
The ``axpy_strided_batched`` functions support ``rocblas_set_batch_alpha_stride`` when the ``rocblas_handle`` is
in mode ``rocblas_pointer_mode_device``, which interprets ``alpha`` as a per-batch device array. This also
applies to ``axpy_strided_batched_ex``.
.. _rocblas_copy:
rocblas_Xcopy + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_scopy
:outline:
.. doxygenfunction:: rocblas_dcopy
:outline:
.. doxygenfunction:: rocblas_ccopy
:outline:
.. doxygenfunction:: rocblas_zcopy
The ``copy`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_scopy_batched
:outline:
.. doxygenfunction:: rocblas_dcopy_batched
:outline:
.. doxygenfunction:: rocblas_ccopy_batched
:outline:
.. doxygenfunction:: rocblas_zcopy_batched
The ``copy_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_scopy_strided_batched
:outline:
.. doxygenfunction:: rocblas_dcopy_strided_batched
:outline:
.. doxygenfunction:: rocblas_ccopy_strided_batched
:outline:
.. doxygenfunction:: rocblas_zcopy_strided_batched
The ``copy_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_dot:
rocblas_Xdot + batched, strided_batched
=======================================
.. doxygenfunction:: rocblas_sdot
:outline:
.. doxygenfunction:: rocblas_ddot
:outline:
.. doxygenfunction:: rocblas_hdot
:outline:
.. doxygenfunction:: rocblas_bfdot
:outline:
.. doxygenfunction:: rocblas_cdotu
:outline:
.. doxygenfunction:: rocblas_cdotc
:outline:
.. doxygenfunction:: rocblas_zdotu
:outline:
.. doxygenfunction:: rocblas_zdotc
The ``dot/c/u`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sdot_batched
:outline:
.. doxygenfunction:: rocblas_ddot_batched
:outline:
.. doxygenfunction:: rocblas_hdot_batched
:outline:
.. doxygenfunction:: rocblas_bfdot_batched
:outline:
.. doxygenfunction:: rocblas_cdotu_batched
:outline:
.. doxygenfunction:: rocblas_cdotc_batched
:outline:
.. doxygenfunction:: rocblas_zdotu_batched
:outline:
.. doxygenfunction:: rocblas_zdotc_batched
The ``dot/c/u_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sdot_strided_batched
:outline:
.. doxygenfunction:: rocblas_ddot_strided_batched
:outline:
.. doxygenfunction:: rocblas_hdot_strided_batched
:outline:
.. doxygenfunction:: rocblas_bfdot_strided_batched
:outline:
.. doxygenfunction:: rocblas_cdotu_strided_batched
:outline:
.. doxygenfunction:: rocblas_cdotc_strided_batched
:outline:
.. doxygenfunction:: rocblas_zdotu_strided_batched
:outline:
.. doxygenfunction:: rocblas_zdotc_strided_batched
The ``dot/c/u_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_nrm2:
rocblas_Xnrm2 + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_snrm2
:outline:
.. doxygenfunction:: rocblas_dnrm2
:outline:
.. doxygenfunction:: rocblas_scnrm2
:outline:
.. doxygenfunction:: rocblas_dznrm2
The ``nrm2`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_snrm2_batched
:outline:
.. doxygenfunction:: rocblas_dnrm2_batched
:outline:
.. doxygenfunction:: rocblas_scnrm2_batched
:outline:
.. doxygenfunction:: rocblas_dznrm2_batched
The ``nrm2_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_snrm2_strided_batched
:outline:
.. doxygenfunction:: rocblas_dnrm2_strided_batched
:outline:
.. doxygenfunction:: rocblas_scnrm2_strided_batched
:outline:
.. doxygenfunction:: rocblas_dznrm2_strided_batched
The ``nrm2_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_rot:
rocblas_Xrot + batched, strided_batched
=======================================
.. doxygenfunction:: rocblas_srot
:outline:
.. doxygenfunction:: rocblas_drot
:outline:
.. doxygenfunction:: rocblas_crot
:outline:
.. doxygenfunction:: rocblas_csrot
:outline:
.. doxygenfunction:: rocblas_zrot
:outline:
.. doxygenfunction:: rocblas_zdrot
The ``rot`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srot_batched
:outline:
.. doxygenfunction:: rocblas_drot_batched
:outline:
.. doxygenfunction:: rocblas_crot_batched
:outline:
.. doxygenfunction:: rocblas_csrot_batched
:outline:
.. doxygenfunction:: rocblas_zrot_batched
:outline:
.. doxygenfunction:: rocblas_zdrot_batched
The ``rot_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srot_strided_batched
:outline:
.. doxygenfunction:: rocblas_drot_strided_batched
:outline:
.. doxygenfunction:: rocblas_crot_strided_batched
:outline:
.. doxygenfunction:: rocblas_csrot_strided_batched
:outline:
.. doxygenfunction:: rocblas_zrot_strided_batched
:outline:
.. doxygenfunction:: rocblas_zdrot_strided_batched
The ``rot_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_rotg:
rocblas_Xrotg + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_srotg
:outline:
.. doxygenfunction:: rocblas_drotg
:outline:
.. doxygenfunction:: rocblas_crotg
:outline:
.. doxygenfunction:: rocblas_zrotg
The ``rotg`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotg_batched
:outline:
.. doxygenfunction:: rocblas_drotg_batched
:outline:
.. doxygenfunction:: rocblas_crotg_batched
:outline:
.. doxygenfunction:: rocblas_zrotg_batched
The ``rotg_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotg_strided_batched
:outline:
.. doxygenfunction:: rocblas_drotg_strided_batched
:outline:
.. doxygenfunction:: rocblas_crotg_strided_batched
:outline:
.. doxygenfunction:: rocblas_zrotg_strided_batched
The ``rotg_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_rotm:
rocblas_Xrotm + batched, strided_batched
========================================
.. doxygenfunction:: rocblas_srotm
:outline:
.. doxygenfunction:: rocblas_drotm
The ``rotm`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotm_batched
:outline:
.. doxygenfunction:: rocblas_drotm_batched
The ``rotm_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotm_strided_batched
:outline:
.. doxygenfunction:: rocblas_drotm_strided_batched
The ``rotm_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_rotmg:
rocblas_Xrotmg + batched, strided_batched
=========================================
.. doxygenfunction:: rocblas_srotmg
:outline:
.. doxygenfunction:: rocblas_drotmg
The ``rotmg`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotmg_batched
:outline:
.. doxygenfunction:: rocblas_drotmg_batched
The ``rotmg_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_srotmg_strided_batched
:outline:
.. doxygenfunction:: rocblas_drotmg_strided_batched
The ``rotmg_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. _rocblas_scal:
rocblas_Xscal + batched, strided_batched
=========================================
.. doxygenfunction:: rocblas_sscal
:outline:
.. doxygenfunction:: rocblas_dscal
:outline:
.. doxygenfunction:: rocblas_cscal
:outline:
.. doxygenfunction:: rocblas_zscal
:outline:
.. doxygenfunction:: rocblas_csscal
:outline:
.. doxygenfunction:: rocblas_zdscal
The ``scal`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sscal_batched
:outline:
.. doxygenfunction:: rocblas_dscal_batched
:outline:
.. doxygenfunction:: rocblas_cscal_batched
:outline:
.. doxygenfunction:: rocblas_zscal_batched
:outline:
.. doxygenfunction:: rocblas_csscal_batched
:outline:
.. doxygenfunction:: rocblas_zdscal_batched
The ``scal_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
The ``scal_batched`` functions support ``rocblas_set_batch_alpha_stride`` when the ``rocblas_handle`` is
in mode ``rocblas_pointer_mode_device``, which interprets ``alpha`` as a per-batch device array. This also
applies to ``scal_batched_ex``.
.. doxygenfunction:: rocblas_sscal_strided_batched
:outline:
.. doxygenfunction:: rocblas_dscal_strided_batched
:outline:
.. doxygenfunction:: rocblas_cscal_strided_batched
:outline:
.. doxygenfunction:: rocblas_zscal_strided_batched
:outline:
.. doxygenfunction:: rocblas_csscal_strided_batched
:outline:
.. doxygenfunction:: rocblas_zdscal_strided_batched
The ``scal_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
The ``scal_strided_batched`` functions support ``rocblas_set_batch_alpha_stride`` when the ``rocblas_handle`` is
in mode ``rocblas_pointer_mode_device``, which interprets ``alpha`` as a per-batch device array. This also
applies to ``scal_strided_batched_ex``.
.. _rocblas_swap:
rocblas_Xswap + batched, strided_batched
=========================================
.. doxygenfunction:: rocblas_sswap
:outline:
.. doxygenfunction:: rocblas_dswap
:outline:
.. doxygenfunction:: rocblas_cswap
:outline:
.. doxygenfunction:: rocblas_zswap
The ``swap`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sswap_batched
:outline:
.. doxygenfunction:: rocblas_dswap_batched
:outline:
.. doxygenfunction:: rocblas_cswap_batched
:outline:
.. doxygenfunction:: rocblas_zswap_batched
The ``swap_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.
.. doxygenfunction:: rocblas_sswap_strided_batched
:outline:
.. doxygenfunction:: rocblas_dswap_strided_batched
:outline:
.. doxygenfunction:: rocblas_cswap_strided_batched
:outline:
.. doxygenfunction:: rocblas_zswap_strided_batched
The ``swap_strided_batched`` functions support the ``_64`` interface. See the :ref:`ILP64 API` section.