hipSPARSELt precision support#
This topic lists the data type support for the hipSPARSELt library on AMD and NVIDIA GPUs.
This page lists the data types supported by the library itself and does not indicate hardware support. A type listed here is only usable if the GPU architecture also supports it; otherwise it is unsupported. For data type support across the other ROCm libraries and by GPU architecture, see the Data types and precision support page.
Supported data types overview#
The following table summarizes the input and output data types supported by hipSPARSELt on AMD GPUs. For backend-specific (AMD and NVIDIA) input/output, accumulator, and compute-type details, see the sections that follow.
Icon |
Definition |
|---|---|
✅ |
Fully supported as both an input and output type. |
⚠️ |
Partially supported as an input or output type. |
Data types not listed in the table below are not supported.
Data type |
Support |
|---|---|
int8 |
✅ |
int32 |
Output only |
float8 (E4M3) |
Input only |
float8 (E5M2) |
Input only |
float16 |
✅ |
bfloat16 |
✅ |
float32 |
Output only |
Input/output types by backend#
The following sections list the backend-specific (AMD and NVIDIA) input/output, accumulator, and compute-type support. The icons representing different levels of support are explained in the following table.
Icon |
Definition |
|---|---|
NA |
Not applicable |
❌ |
Not supported |
⚠️ |
Partial support |
✅ |
Full support |
List of supported input and output types:
Input/output types |
Library data type |
AMD supports |
NVIDIA supports |
|---|---|---|---|
int8 |
HIP_R_8I |
✅ |
✅ |
float8 |
HIP_R_8F_E4M3 |
⚠️ |
✅ |
bfloat8 |
HIP_R_8F_E5M2 |
⚠️ |
✅ |
float8_fnuz |
HIP_R_8F_E4M3_FNUZ |
⚠️ |
❌ |
bfloat8_fnuz |
HIP_R_8F_E5M2_FNUZ |
⚠️ |
❌ |
int16 |
Not supported |
❌ |
❌ |
float16 |
HIP_R_16F |
✅ |
✅ |
bfloat16 |
HIP_R_16BF |
✅ |
✅ |
int32 |
HIP_R_32I |
⚠️ |
⚠️ |
tensorfloat32 |
Not supported |
❌ |
❌ |
float32 |
HIP_R_32F |
⚠️ |
✅ |
float64 |
Not supported |
❌ |
❌ |
Accumulator types by backend#
List of supported accumulator types:
Accumulator types |
Library data type |
AMD supports |
NVIDIA supports |
|---|---|---|---|
int8 |
Not supported |
❌ |
❌ |
float8 |
Not supported |
❌ |
❌ |
bfloat8 |
Not supported |
❌ |
❌ |
int16 |
Not supported |
❌ |
❌ |
float16 |
HIPSPARSELT_COMPUTE_16F |
❌ |
✅ |
bfloat16 |
Not supported |
❌ |
❌ |
int32 |
HIPSPARSELT_COMPUTE_32I |
✅ |
✅ |
tensorfloat32 |
Not supported |
❌ |
❌ |
float32 |
HIPSPARSELT_COMPUTE_32F |
✅ |
✅ |
float64 |
Not supported |
❌ |
❌ |
Compute types by backend#
List of supported compute types for specific input and output types:
Input A/B |
Input C |
Output D |
Compute type |
Backend |
Support LLVM target for HIP backend |
|---|---|---|---|---|---|
HIP_R_32F |
HIP_R_32F |
HIP_R_32F |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_16F |
HIP_R_16F |
HIP_R_16F |
HIPSPARSELT_COMPUTE_32F |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_16F |
HIP_R_16F |
HIP_R_16F |
HIPSPARSELT_COMPUTE_16F |
CUDA |
|
HIP_R_16BF |
HIP_R_16BF |
HIP_R_16BF |
HIPSPARSELT_COMPUTE_32F |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_8I |
HIP_R_8I |
HIP_R_8I |
HIPSPARSELT_COMPUTE_32I |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_8I |
HIP_R_32I |
HIP_R_32I |
HIPSPARSELT_COMPUTE_32I |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_8I |
HIP_R_16F |
HIP_R_16F |
HIPSPARSELT_COMPUTE_32I |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_8I |
HIP_R_16BF |
HIP_R_16BF |
HIPSPARSELT_COMPUTE_32I |
HIP / CUDA |
gfx942, gfx950 |
HIP_R_8F_E4M3 |
HIP_R_16F |
HIP_R_8F_E4M3 |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E4M3 |
HIP_R_16BF |
HIP_R_8F_E4M3 |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E4M3 |
HIP_R_16F |
HIP_R_16F |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E4M3 |
HIP_R_16BF |
HIP_R_16BF |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E4M3 |
HIP_R_32F |
HIP_R_32F |
HIPSPARSELT_COMPUTE_32F |
HIP / CUDA |
gfx950 |
HIP_R_8F_E5M2 |
HIP_R_16F |
HIP_R_8F_E5M2 |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E5M2 |
HIP_R_16BF |
HIP_R_8F_E5M2 |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E5M2 |
HIP_R_16F |
HIP_R_16F |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E5M2 |
HIP_R_16BF |
HIP_R_16BF |
HIPSPARSELT_COMPUTE_32F |
CUDA |
|
HIP_R_8F_E5M2 |
HIP_R_32F |
HIP_R_32F |
HIPSPARSELT_COMPUTE_32F |
HIP / CUDA |
gfx950 |
HIP_R_8F_E4M3_FNUZ |
HIP_R_32F |
HIP_R_32F |
HIPSPARSELT_COMPUTE_32F |
HIP |
gfx942 |
HIP_R_8F_E5M2_FNUZ |
HIP_R_32F |
HIP_R_32F |
HIPSPARSELT_COMPUTE_32F |
HIP |
gfx942 |