Files
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

447 lines
12 KiB
ReStructuredText

.. meta::
:description: A high-performance HIP library for tensor primitives
:keywords: hipTensor, ROCm, library, API, tool
.. _api-reference:
********************
API reference guide
********************
This document provides information about hipTensor APIs, data types, and other programming constructs.
Supported GPU architectures
----------------------------
List of supported CDNA architectures:
* gfx908
* gfx90a
* gfx942
* gfx950
.. note::
gfx9 = gfx908, gfx90a, gfx942, gfx950
gfx90a+ = gfx90a, gfx942, gfx950
List of supported RDNA architectures:
* gfx1100
* gfx1101
* gfx1102
* gfx1103
* gfx1150
* gfx1151
* gfx1152
* gfx1153
* gfx1200
* gfx1201
* gfx1250
.. note::
gfx11 = gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152, gfx1153
gfx12 = gfx1200, gfx1201, gfx1250
.. _hiptensor-supported-data-types:
Supported data types
--------------------
hipTensor supports the following datatype combinations in API functionality.
Data Types **<Ti / To / Tc>** = <Input type / Output Type / Compute Type>, where:
* Input Type = Matrix A / B
* Output Type = Matrix C / D
* Compute Type = Math / accumulation type
* f16 = half-precision floating point
* bf16 = half-precision brain floating point
* f32 = single-precision floating point
* cf32 = complex single-precision floating point
* f64 = double-precision floating point
* cf64 = complex double-precision floating point
.. note::
f16 represents equivalent support for both _Float16 and __half types.
.. tabularcolumns::
|C|C|C|C|
+---------------------+------------------------------+---------------------+---------------------+
| API context | Datatype Support |GPU Support |Tensor Rank Support |
| | <Ti / To / Tc> | | |
+=====================+==============================+=====================+=====================+
| | f16 / f16 / f16 | gfx11 gfx12 | 1m1n1k (Rank2) |
| Contraction +------------------------------+ | |
| (Scale, bilinear) | bf16 / bf16 / bf16 | | 2m2n2k (Rank4) |
| +------------------------------+---------------------+ |
| | f32 / f32 / f16 | gfx9 gfx11 gfx12 | 3m3n3k (Rank6) |
| +------------------------------+ | |
| | f32 / f32 / bf16 | | 4m4n4k (Rank8) |
| +------------------------------+---------------------+ |
| | f16 / f16 / f32 | gfx9 gfx1250 | 5m5n5k (Rank10) |
| +------------------------------+ | |
| | bf16 / bf16 / f32 | | 6m6n6k (Rank12) |
| +------------------------------+ | |
| | f32 / f32 / f32 | | |
| +------------------------------+ | |
| | cf32 / cf32 / cf32 | | |
| +------------------------------+---------------------+ |
| | f64 / f64 / f64 | gfx90a+ | |
| +------------------------------+ | |
| | f64 / f64 / f32 | | |
| +------------------------------+ | |
| | cf64 / cf64 / cf64 | | |
+---------------------+------------------------------+---------------------+---------------------+
| | f16 / f16 / \- | gfx9 gfx11 gfx12 | Rank2 - Rank6 |
| Element-wise +------------------------------+ | |
| Operations | f16 / f32 / \- | | |
| +------------------------------+ | |
| | f32 / f32 / \- | | |
+---------------------+------------------------------+---------------------+---------------------+
| | f16 / f16 / f16 | gfx9 gfx11 gfx12 | Rank1 - Rank6 |
| Reduction +------------------------------+ | |
| | f16 / f16 / f32 | | |
| +------------------------------+ | |
| | bf16 / bf16 / bf16 | | |
| +------------------------------+ | |
| | bf16 / bf16 / f32 | | |
| +------------------------------+ | |
| | f32 / f32 / f32 | | |
| +------------------------------+---------------------+ |
| | f64 / f64 / f64 | gfx90a+ | |
+---------------------+------------------------------+---------------------+---------------------+
Limitations
------------
* hipTensor currently supports tensors up to 2GB in size due to backend address-space limitations.
hipTensor API objects
========================
.. <!-- spellcheck-disable -->
hiptensorDataType_t
-------------------
.. doxygenenum:: hiptensorDataType_t
hiptensorStatus_t
-----------------
.. doxygenenum:: hiptensorStatus_t
hiptensorComputeDescriptor_t
----------------------------
.. doxygenenum:: hiptensorComputeDescriptor_t
hiptensorOperator_t
-------------------
.. doxygenenum:: hiptensorOperator_t
hiptensorAlgo_t
---------------
.. doxygenenum:: hiptensorAlgo_t
hiptensorWorksizePreference_t
-----------------------------
.. doxygenenum:: hiptensorWorksizePreference_t
hiptensorLogLevel_t
-------------------
.. doxygenenum:: hiptensorLogLevel_t
hiptensorOperationDescriptorAttribute_t
---------------------------------------
.. doxygenenum:: hiptensorOperationDescriptorAttribute_t
hiptensorPlanPreferenceAttribute_t
----------------------------------
.. doxygenenum:: hiptensorPlanPreferenceAttribute_t
hiptensorPlanAttribute_t
------------------------
.. doxygenenum:: hiptensorPlanAttribute_t
hiptensorAutotuneMode_t
-----------------------
.. doxygenenum:: hiptensorAutotuneMode_t
hiptensorCacheMode_t
--------------------
.. doxygenenum:: hiptensorCacheMode_t
hiptensorJitMode_t
------------------
.. doxygenenum:: hiptensorJitMode_t
hiptensorLoggerCallback_t
-------------------------
.. doxygentypedef:: hiptensorLoggerCallback_t
hiptensorHandle_t
-----------------
.. doxygenstruct:: hiptensorHandle
hiptensorPlan_t
-----------------
.. doxygenstruct:: hiptensorPlan
hiptensorTensorDescriptor
---------------------------------------
.. doxygenstruct:: hiptensorTensorDescriptor
hiptensorOperationDescriptor
---------------------------------------
.. doxygenstruct:: hiptensorOperationDescriptor
hiptensorPlanPreference
---------------------------------------
.. doxygenstruct:: hiptensorPlanPreference
Helper functions
================
hiptensorCreate
---------------
.. doxygenfunction:: hiptensorCreate
hiptensorDestroy
----------------
.. doxygenfunction:: hiptensorDestroy
hiptensorHandleResizePlanCache
------------------------------
.. doxygenfunction:: hiptensorHandleResizePlanCache
hiptensorHandleWritePlanCacheToFile
-----------------------------------
.. doxygenfunction:: hiptensorHandleWritePlanCacheToFile
hiptensorHandleReadPlanCacheFromFile
------------------------------------
.. doxygenfunction:: hiptensorHandleReadPlanCacheFromFile
hiptensorWriteKernelCacheToFile
-------------------------------
.. doxygenfunction:: hiptensorWriteKernelCacheToFile
hiptensorReadKernelCacheFromFile
--------------------------------
.. doxygenfunction:: hiptensorReadKernelCacheFromFile
hiptensorCreateTensorDescriptor
-------------------------------
.. doxygenfunction:: hiptensorCreateTensorDescriptor
hiptensorDestroyTensorDescriptor
--------------------------------
.. doxygenfunction:: hiptensorDestroyTensorDescriptor
hiptensorDestroyOperationDescriptor
-----------------------------------
.. doxygenfunction:: hiptensorDestroyOperationDescriptor
hiptensorOperationDescriptorSetAttribute
----------------------------------------
.. doxygenfunction:: hiptensorOperationDescriptorSetAttribute
hiptensorOperationDescriptorGetAttribute
----------------------------------------
.. doxygenfunction:: hiptensorOperationDescriptorGetAttribute
hiptensorCreatePlanPreference
-----------------------------
.. doxygenfunction:: hiptensorCreatePlanPreference
hiptensorDestroyPlanPreference
------------------------------
.. doxygenfunction:: hiptensorDestroyPlanPreference
hiptensorPlanPreferenceSetAttribute
-----------------------------------
.. doxygenfunction:: hiptensorPlanPreferenceSetAttribute
hiptensorPlanGetAttribute
-------------------------
.. doxygenfunction:: hiptensorPlanGetAttribute
hiptensorEstimateWorkspaceSize
------------------------------
.. doxygenfunction:: hiptensorEstimateWorkspaceSize
hiptensorCreatePlan
-------------------
.. doxygenfunction:: hiptensorCreatePlan
hiptensorDestroyPlan
--------------------
.. doxygenfunction:: hiptensorDestroyPlan
hiptensorGetErrorString
-----------------------
.. doxygenfunction:: hiptensorGetErrorString
hiptensorGetVersion
-------------------
.. doxygenfunction:: hiptensorGetVersion
hiptensorGetHiprtVersion
------------------------
.. doxygenfunction:: hiptensorGetHiprtVersion
Contraction operations
======================
hiptensorCreateContraction
--------------------------
.. doxygenfunction:: hiptensorCreateContraction
hiptensorContract
-----------------
.. doxygenfunction:: hiptensorContract
hiptensorCreateContractionTrinary
---------------------------------
.. doxygenfunction:: hiptensorCreateContractionTrinary
hiptensorContractTrinary
------------------------
.. doxygenfunction:: hiptensorContractTrinary
Element-wise operations
=======================
hiptensorCreatePermutation
--------------------------
.. doxygenfunction:: hiptensorCreatePermutation
hiptensorPermute
----------------
.. doxygenfunction:: hiptensorPermute
hiptensorCreateElementwiseBinary
--------------------------------
.. doxygenfunction:: hiptensorCreateElementwiseBinary
hiptensorElementwiseBinaryExecute
---------------------------------
.. doxygenfunction:: hiptensorElementwiseBinaryExecute
hiptensorCreateElementwiseTrinary
---------------------------------
.. doxygenfunction:: hiptensorCreateElementwiseTrinary
hiptensorElementwiseTrinaryExecute
----------------------------------
.. doxygenfunction:: hiptensorElementwiseTrinaryExecute
Reduction operations
======================
hiptensorCreateReduction
------------------------
.. doxygenfunction:: hiptensorCreateReduction
hiptensorReduce
---------------
.. doxygenfunction:: hiptensorReduce
Logging functions
=================
hiptensorLoggerSetCallback
--------------------------
.. doxygenfunction:: hiptensorLoggerSetCallback
hiptensorLoggerSetFile
----------------------
.. doxygenfunction:: hiptensorLoggerSetFile
hiptensorLoggerOpenFile
-----------------------
.. doxygenfunction:: hiptensorLoggerOpenFile
hiptensorLoggerSetLevel
-----------------------
.. doxygenfunction:: hiptensorLoggerSetLevel
hiptensorLoggerSetMask
----------------------
.. doxygenfunction:: hiptensorLoggerSetMask
hiptensorLoggerForceDisable
---------------------------
.. doxygenfunction:: hiptensorLoggerForceDisable
.. <!-- spellcheck-enable -->