Files
TheRock/rocm-libraries/projects/hipblaslt/clients/tests/data/hipblaslt_common.yaml
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

805 lines
39 KiB
YAML

# Data types are defined as either aliases to Python-recognized ctypes,
# or enums defined with c_int base clases and attributes.
Datatypes:
- hipDataType:
bases: [ c_int ]
attr:
default: 0
f16_r: 2
f32_r: 0
f64_r: 1
f32_c: 4
f64_c: 5
i8_r: 3
i32_r: 10
bf16_r: 14
f8_fnuz_r: 1000
bf8_fnuz_r: 1001
f8_r: 28
bf8_r: 29
e8_r: 30
f6_r: 31
bf6_r: 32
f4_r: 33
e5m3_r: 34
hipblaslt_datatype_invalid: 255
- hipblasComputeType_t:
bases: [ c_int ]
attr:
c_f16_r: 0
c_f16_pedantic_r: 1
c_f32_r: 2
c_f32_pedantic_r: 3
c_f32_fast_f16_r: 4
c_f32_fast_bf16_r: 5
c_xf32_r: 6
c_f64_r: 7
c_f64_pedantic_r: 8
c_i32_r: 9
c_i32_pedantic_r: 10
- { half: f16_r }
- hipblaslt_initialization:
bases: [ c_int ]
attr:
rand_int: 111
trig_float: 222
hpl: 333
special: 444
zero: 555
norm_dist: 666
uniform_01: 777
integer_exact: 888
fp16_accumulator_probe: 889
inf: 890
neg_zero: 891
neg_inf: 892
nan: 893
norm_dist_one_special: 894
uniform_low_precision: 999
- hipblaslt_activation_type:
bases: [ c_int ]
attr:
none: 0
relu: 1
gelu: 2
swish: 3
clamp: 4
sigmoid: 5
- hipblaslt_bias_source:
bases: [ c_int ]
attr:
a: 1
b: 2
d: 3
- hipblaslt_scaling_format:
bases: [ c_int ]
attr:
none: 0
Scalar: 1
Vector: 2
Common threads and streams: &common_threads_streams
- { threads: 0, streams: 0}
# - { threads: 0, streams: 1 }
# - { threads: 1, streams: 0 }
- { threads: 3, streams: 3 }
# - { threads: 5, streams: 5 }
Real precisions: &real_precisions
- &hpa_half_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &hpa_bf16_precision
{ a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &single_precision
{ a_type: f32_r, b_type: f32_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r , scale_type: f32_r}
Complex precisions: &complex_precisions
- &complex_float_precision
{a_type: f32_c, b_type: f32_c, c_type: f32_c, d_type: f32_c, compute_type: c_f32_r, scale_type: f32_c}
- &complex_double_precision
{a_type: f64_c, b_type: f64_c, c_type: f64_c, d_type: f64_c, compute_type: c_f64_r, scale_type: f64_c}
# F8 NANOO
Real precisions 1 bytes (fnuz): &real_precisions_1b_fnuz
- &f8_fnuz_precision_dst_fp32
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_fnuz_precision_dst_fp32
{ a_type: bf8_fnuz_r, b_type: bf8_fnuz_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_fnuz_precision_dst_fp32
{ a_type: bf8_fnuz_r, b_type: f8_fnuz_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_fnuz_precision_dst_fp32
{ a_type: f8_fnuz_r, b_type: bf8_fnuz_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_fnuz_precision_dst_fp16
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_fnuz_precision_dst_fp16
{ a_type: bf8_fnuz_r, b_type: bf8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_fnuz_precision_dst_fp16
{ a_type: bf8_fnuz_r, b_type: f8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_fnuz_precision_dst_fp16
{ a_type: f8_fnuz_r, b_type: bf8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_fnuz_precision_dst_bf16
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_fnuz_precision_dst_bf16
{ a_type: bf8_fnuz_r, b_type: bf8_fnuz_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_fnuz_precision_dst_bf16
{ a_type: f8_fnuz_r, b_type: bf8_fnuz_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_fnuz_precision_dst_bf16
{ a_type: bf8_fnuz_r, b_type: f8_fnuz_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_fnuz_precision_dst_f8_fnuz
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_fnuz_precision_dst_bf8_fnuz
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: bf8_fnuz_r, d_type: bf8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_fnuz_precision_dst_f8_fnuz
{ a_type: bf8_fnuz_r, b_type: bf8_fnuz_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_fnuz_precision_dst_bf8_fnuz
{ a_type: bf8_fnuz_r, b_type: bf8_fnuz_r, c_type: bf8_fnuz_r, d_type: bf8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_fnuz_precision_dst_f8_fnuz
{ a_type: f8_fnuz_r, b_type: bf8_fnuz_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_fnuz_precision_dst_bf8_fnuz
{ a_type: f8_fnuz_r, b_type: bf8_fnuz_r, c_type: bf8_fnuz_r, d_type: bf8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_fnuz_precision_dst_f8_fnuz
{ a_type: bf8_fnuz_r, b_type: f8_fnuz_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_fnuz_precision_dst_bf8_fnuz
{ a_type: bf8_fnuz_r, b_type: f8_fnuz_r, c_type: bf8_fnuz_r, d_type: bf8_fnuz_r, compute_type: c_f32_r, scale_type: f32_r}
Real precisions 1 bytes (fnuz) dst fp32: &real_precisions_1b_fnuz_dst_f32
- *f8_fnuz_precision_dst_fp32
- *bf8f8_fnuz_precision_dst_fp32
- *f8bf8_fnuz_precision_dst_fp32
- *bf8_fnuz_precision_dst_fp32
Real precisions 1 bytes (fnuz) dst fp16: &real_precisions_1b_fnuz_dst_f16
- *f8_fnuz_precision_dst_fp16
- *bf8_fnuz_precision_dst_fp16
- *bf8f8_fnuz_precision_dst_fp16
- *f8bf8_fnuz_precision_dst_fp16
Real precisions 1 bytes (fnuz) dst bf16: &real_precisions_1b_fnuz_dst_bf16
- *f8_fnuz_precision_dst_bf16
- *bf8_fnuz_precision_dst_bf16
- *f8bf8_fnuz_precision_dst_bf16
- *bf8f8_fnuz_precision_dst_bf16
Real precisions 1 bytes (fnuz) dst fp8_fnuz: &real_precisions_1b_fnuz_dst_f8_fnuz
- *f8_fnuz_precision_dst_f8_fnuz
- *bf8_fnuz_precision_dst_f8_fnuz
- *f8bf8_fnuz_precision_dst_f8_fnuz
- *bf8f8_fnuz_precision_dst_f8_fnuz
Real precisions 1 bytes (fnuz) dst bf8_fnuz: &real_precisions_1b_fnuz_dst_bf8_fnuz
- *f8_fnuz_precision_dst_bf8_fnuz
- *bf8_fnuz_precision_dst_bf8_fnuz
- *f8bf8_fnuz_precision_dst_bf8_fnuz
- *bf8f8_fnuz_precision_dst_bf8_fnuz
Real precisions 1 byte dst 1 byte: &real_precisions_1b_fnuz_dst_1b_fnuz
- *f8_fnuz_precision_dst_f8_fnuz
- *bf8_fnuz_precision_dst_f8_fnuz
- *f8bf8_fnuz_precision_dst_f8_fnuz
- *bf8f8_fnuz_precision_dst_f8_fnuz
- *f8_fnuz_precision_dst_bf8_fnuz
- *bf8_fnuz_precision_dst_bf8_fnuz
- *f8bf8_fnuz_precision_dst_bf8_fnuz
- *bf8f8_fnuz_precision_dst_bf8_fnuz
#F8 NANOO end
Real precisions 1 bytes: &real_precisions_1b
- &f8_precision_dst_fp32
{ a_type: f8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_precision_dst_fp32
{ a_type: bf8_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_precision_dst_fp32
{ a_type: bf8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_precision_dst_fp32
{ a_type: f8_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_precision_dst_fp16
{ a_type: f8_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_precision_dst_fp16
{ a_type: bf8_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_precision_dst_fp16
{ a_type: bf8_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_precision_dst_fp16
{ a_type: f8_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_precision_dst_bf16
{ a_type: f8_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_precision_dst_bf16
{ a_type: bf8_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_precision_dst_bf16
{ a_type: f8_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_precision_dst_bf16
{ a_type: bf8_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_precision_dst_f8
{ a_type: f8_r, b_type: f8_r, c_type: f8_r, d_type: f8_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8_precision_dst_bf8
{ a_type: f8_r, b_type: f8_r, c_type: bf8_r, d_type: bf8_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_precision_dst_f8
{ a_type: bf8_r, b_type: bf8_r, c_type: f8_r, d_type: f8_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8_precision_dst_bf8
{ a_type: bf8_r, b_type: bf8_r, c_type: bf8_r, d_type: bf8_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_precision_dst_f8
{ a_type: f8_r, b_type: bf8_r, c_type: f8_r, d_type: f8_r, compute_type: c_f32_r, scale_type: f32_r}
- &f8bf8_precision_dst_bf8
{ a_type: f8_r, b_type: bf8_r, c_type: bf8_r, d_type: bf8_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_precision_dst_f8
{ a_type: bf8_r, b_type: f8_r, c_type: f8_r, d_type: f8_r, compute_type: c_f32_r, scale_type: f32_r}
- &bf8f8_precision_dst_bf8
{ a_type: bf8_r, b_type: f8_r, c_type: bf8_r, d_type: bf8_r, compute_type: c_f32_r, scale_type: f32_r}
Real precisions 1 bytes dst fp32: &real_precisions_1b_dst_f32
- *f8_precision_dst_fp32
- *bf8f8_precision_dst_fp32
- *f8bf8_precision_dst_fp32
- *bf8_precision_dst_fp32
Real precisions 1 bytes dst fp16: &real_precisions_1b_dst_f16
- *f8_precision_dst_fp16
- *bf8_precision_dst_fp16
- *bf8f8_precision_dst_fp16
- *f8bf8_precision_dst_fp16
Real precisions 1 bytes dst bf16: &real_precisions_1b_dst_bf16
- *f8_precision_dst_bf16
- *bf8_precision_dst_bf16
- *f8bf8_precision_dst_bf16
- *bf8f8_precision_dst_bf16
Real precisions 1 bytes dst fp8: &real_precisions_1b_dst_f8
- *f8_precision_dst_f8
- *bf8_precision_dst_f8
- *f8bf8_precision_dst_f8
- *bf8f8_precision_dst_f8
Real precisions 1 bytes dst bf8: &real_precisions_1b_dst_bf8
- *f8_precision_dst_bf8
- *bf8_precision_dst_bf8
- *f8bf8_precision_dst_bf8
- *bf8f8_precision_dst_bf8
Real precisions 1 byte dst 1 byte: &real_precisions_1b_dst_1b
- *f8_precision_dst_f8
- *bf8_precision_dst_f8
- *f8bf8_precision_dst_f8
- *bf8f8_precision_dst_f8
- *f8_precision_dst_bf8
- *bf8_precision_dst_bf8
- *f8bf8_precision_dst_bf8
- *bf8f8_precision_dst_bf8
Real precisions 2 bytes: &real_precisions_2b
- *hpa_half_precision
- *hpa_bf16_precision
Real precisions swizzleA support: &real_precisions_swizzleA_support
- &fp16_precision_dst_fp32_swizzleA
{ a_type: f16_r, b_type: f16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_a: true}
- &fp16_precision_dst_fp16_swizzleA
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_a: true}
- &bf16_precision_dst_bf16_swizzleA
{ a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_a: true}
- &f8n_precision_dst_fp16_swizzleA
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_a: true}
Real precisions swizzleB support: &real_precisions_swizzleB_support
- &fp16_precision_dst_fp32_swizzleB
{ a_type: f16_r, b_type: f16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_b: true}
- &fp16_precision_dst_fp16_swizzleB
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_b: true}
- &bf16_precision_dst_bf16_swizzleB
{ a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_b: true}
- &f8n_precision_dst_fp16_swizzleB
{ a_type: f8_fnuz_r, b_type: f8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r, swizzle_b: true}
Real precisions f32_bf16_r: &real_precisions_intermeddiate_bf16
- &hpa_half_fp16dst_bf16computeIn_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_fast_bf16_r, scale_type: f32_r}
- &single_precision_bf16computeIn_precision
{ a_type: f32_r, b_type: f32_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_fast_bf16_r, scale_type: f32_r}
# TF32x1 only: f32 A+B with compute input type bf16. Use for integer_exact to avoid "no solution" from f16+bf16 path.
Real precisions TF32x1 only: &real_precisions_tf32x1_only
- *single_precision_bf16computeIn_precision
Real precisions f32_f8_fnuz_r: &real_precisions_intermeddiate_f8_fnuz
- &hpa_half_fp16dst_f8_fnuz_computeIn_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, compute_input_typeA: f8_fnuz_r, compute_input_typeB: f8_fnuz_r, scale_type: f32_r}
- &hpa_half_fp16dst_f8bf8_fnuz_computeIn_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, compute_input_typeA: f8_fnuz_r, compute_input_typeB: bf8_fnuz_r, scale_type: f32_r}
- &hpa_half_fp16dst_bf8f8_fnuz_computeIn_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, compute_input_typeA: bf8_fnuz_r, compute_input_typeB: f8_fnuz_r, scale_type: f32_r}
Real precisions xf32: &real_precisions_intermeddiate
- &xf32_precision
{ a_type: f32_r, b_type: f32_r, c_type: f32_r, d_type: f32_r, compute_type: c_xf32_r , scale_type: f32_r}
Real precisions i8: &integer_precisions_i8
- &i8_precision_dst_i32
{ a_type: i8_r, b_type: i8_r, c_type: i32_r, d_type: i32_r, compute_type: c_i32_r , scale_type: i32_r}
- &i8_precision_dst_i8
{ a_type: i8_r, b_type: i8_r, c_type: i8_r, d_type: i8_r, compute_type: c_i32_r , scale_type: i32_r}
Real precisions compute fp16: &hpa_half_precisions_compute_fp16
- &hpa_half_fp16dst_compute_fp16_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f16_r, scale_type: f32_r}
- &hpa_half_fp32dst_compute_fp16_precision
{ a_type: f16_r, b_type: f16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f16_r, scale_type: f32_r}
Real precisions fp16 dstf32: &hpa_half_precisions_fp_16_32_dst
- &hpa_half_fp16dst_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scale_type: f32_r}
- &hpa_half_fp32dst_precision
{ a_type: f16_r, b_type: f16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
Real precisions bf16 dstf32: &hpa_half_precisions_bf_16_32_dst
- &hpa_half_bf16_bf16dst_precision
{ a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scale_type: f32_r}
- &hpa_half_bf16_fp32dst_precision
{ a_type: bf16_r, b_type: bf16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scale_type: f32_r}
Real precisions gemm only: &real_precisions_gemm_only
- &double_precision
{ a_type: f64_r, b_type: f64_r, c_type: f64_r, d_type: f64_r, compute_type: c_f64_r , scale_type: f64_r}
Real mix precisions: &real_mix_precisions_fnuz
- &fp8fp16_fnuz_precision_dst_fp16
{ a_type: f8_fnuz_r, b_type: f16_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
- &fp16fp8_fnuz_precision_dst_fp16
{ a_type: f16_r, b_type: f8_fnuz_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
- &fp8fp16_fnuz_precision_dst_fp32
{ a_type: f8_fnuz_r, b_type: f16_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
- &fp16fp8_fnuz_precision_dst_fp32
{ a_type: f16_r, b_type: f8_fnuz_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
Real mix precisions fp8: &real_mix_precisions_fp8_fnuz
- &fp8fp16_fnuz_precision_dst_fp8_fnuz
{ a_type: f8_fnuz_r, b_type: f16_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
- &fp16fp8_fnuz_precision_dst_fp8_fnuz
{ a_type: f16_r, b_type: f8_fnuz_r, c_type: f8_fnuz_r, d_type: f8_fnuz_r, compute_type: c_f32_fast_f16_r, scale_type: f32_r}
Real mix f8f6f4 precisions dst fp32: &real_mix_f8f6f4_precisions_dst_fp32
# f6b6 / b6f6
- &fp6bf6_mix_precision_dst_fp32
{ a_type: f6_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f6_r, compute_input_typeB: bf6_r, scale_type: f32_r}
- &bf6fp6_mix_precision_dst_fp32
{ a_type: bf6_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf6_r, compute_input_typeB: f6_r, scale_type: f32_r}
# f4f8 / f8f4:
- &fp4fp8_mix_precision_dst_fp32
{ a_type: f4_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f4_r, compute_input_typeB: f8_r, scale_type: f32_r}
- &fp8fp4_mix_precision_dst_fp32
{ a_type: f8_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f8_r, compute_input_typeB: f4_r, scale_type: f32_r}
# f4b8 / b8f4:
- &fp4bf8_mix_precision_dst_fp32
{ a_type: f4_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f4_r, compute_input_typeB: bf8_r, scale_type: f32_r}
- &bf8fp4_mix_precision_dst_fp32
{ a_type: bf8_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf8_r, compute_input_typeB: f4_r, scale_type: f32_r}
# f8b8 / b8f8:
# - &fp8bf8_mix_precision_dst_fp32
# { a_type: f8_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f8_r, compute_input_typeB: bf8_r, scale_type: f32_r}
# - &bf8fp8_mix_precision_dst_fp32
# { a_type: bf8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf8_r, compute_input_typeB: f8_r, scale_type: f32_r}
# f4f6 / f6f4:
- &fp4fp6_mix_precision_dst_fp32
{ a_type: f4_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f4_r, compute_input_typeB: f6_r, scale_type: f32_r}
- &fp6fp4_mix_precision_dst_fp32
{ a_type: f6_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f6_r, compute_input_typeB: f4_r, scale_type: f32_r}
# f4b6 / b6f4:
- &fp4bf6_mix_precision_dst_fp32
{ a_type: f4_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f4_r, compute_input_typeB: bf6_r, scale_type: f32_r}
- &bf6fp4_mix_precision_dst_fp32
{ a_type: bf6_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf6_r, compute_input_typeB: f4_r, scale_type: f32_r}
# f8f6 / f6f8:
- &fp8fp6_mix_precision_dst_fp32
{ a_type: f8_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f8_r, compute_input_typeB: f6_r, scale_type: f32_r}
- &fp6fp8_mix_precision_dst_fp32
{ a_type: f6_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f6_r, compute_input_typeB: f8_r, scale_type: f32_r}
# f8b6 / b6f8:
- &fp8bf6_mix_precision_dst_fp32
{ a_type: f8_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f8_r, compute_input_typeB: bf6_r, scale_type: f32_r}
- &bf6fp8_mix_precision_dst_fp32
{ a_type: bf6_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf6_r, compute_input_typeB: f8_r, scale_type: f32_r}
# b8f6 / f6b8:
- &bf8fp6_mix_precision_dst_fp32
{ a_type: bf8_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf8_r, compute_input_typeB: f6_r, scale_type: f32_r}
- &fp6bf8_mix_precision_dst_fp32
{ a_type: f6_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: f6_r, compute_input_typeB: bf8_r, scale_type: f32_r}
# b8b6 / b6b8:
- &bf8bf6_mix_precision_dst_fp32
{ a_type: bf8_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf8_r, compute_input_typeB: bf6_r, scale_type: f32_r}
- &bf6bf8_mix_precision_dst_fp32
{ a_type: bf6_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, compute_input_typeA: bf6_r, compute_input_typeB: bf8_r, scale_type: f32_r}
# MX Datatypes
Real precisions 1 bytes: &real_precisions_mx
- &mxf8_mxfp8_precision_dst_fp32
{ a_type: f8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbfp8_precision_dst_fp32
{ a_type: f8_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf6_precision_dst_fp32
{ a_type: f8_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbf6_precision_dst_fp32
{ a_type: f8_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf4_precision_dst_fp32
{ a_type: f8_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxfp8_precision_dst_fp32
{ a_type: bf8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbfp8_precision_dst_fp32
{ a_type: bf8_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf6_precision_dst_fp32
{ a_type: bf8_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbf6_precision_dst_fp32
{ a_type: bf8_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf4_precision_dst_fp32
{ a_type: bf8_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxfp8_precision_dst_fp32
{ a_type: f6_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbfp8_precision_dst_fp32
{ a_type: f6_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf6_precision_dst_fp32
{ a_type: f6_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbf6_precision_dst_fp32
{ a_type: f6_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf4_precision_dst_fp32
{ a_type: f6_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxfp8_precision_dst_fp32
{ a_type: bf6_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbfp8_precision_dst_fp32
{ a_type: bf6_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf6_precision_dst_fp32
{ a_type: bf6_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbf6_precision_dst_fp32
{ a_type: bf6_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf4_precision_dst_fp32
{ a_type: bf6_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxfp8_precision_dst_fp32
{ a_type: f4_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbfp8_precision_dst_fp32
{ a_type: f4_r, b_type: bf8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf6_precision_dst_fp32
{ a_type: f4_r, b_type: f6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbf6_precision_dst_fp32
{ a_type: f4_r, b_type: bf6_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf4_precision_dst_fp32
{ a_type: f4_r, b_type: f4_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxfp8_precision_dst_fp16
{ a_type: f8_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbfp8_precision_dst_fp16
{ a_type: f8_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf6_precision_dst_fp16
{ a_type: f8_r, b_type: f6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbf6_precision_dst_fp16
{ a_type: f8_r, b_type: bf6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf4_precision_dst_fp16
{ a_type: f8_r, b_type: f4_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxfp8_precision_dst_fp16
{ a_type: bf8_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbfp8_precision_dst_fp16
{ a_type: bf8_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf6_precision_dst_fp16
{ a_type: bf8_r, b_type: f6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbf6_precision_dst_fp16
{ a_type: bf8_r, b_type: bf6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf4_precision_dst_fp16
{ a_type: bf8_r, b_type: f4_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxfp8_precision_dst_fp16
{ a_type: f6_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbfp8_precision_dst_fp16
{ a_type: f6_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf6_precision_dst_fp16
{ a_type: f6_r, b_type: f6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbf6_precision_dst_fp16
{ a_type: f6_r, b_type: bf6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf4_precision_dst_fp16
{ a_type: f6_r, b_type: f4_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxfp8_precision_dst_fp16
{ a_type: bf6_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbfp8_precision_dst_fp16
{ a_type: bf6_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf6_precision_dst_fp16
{ a_type: bf6_r, b_type: f6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbf6_precision_dst_fp16
{ a_type: bf6_r, b_type: bf6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf4_precision_dst_fp16
{ a_type: bf6_r, b_type: f4_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxfp8_precision_dst_fp16
{ a_type: f4_r, b_type: f8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbfp8_precision_dst_fp16
{ a_type: f4_r, b_type: bf8_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf6_precision_dst_fp16
{ a_type: f4_r, b_type: f6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbf6_precision_dst_fp16
{ a_type: f4_r, b_type: bf6_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf4_precision_dst_fp16
{ a_type: f4_r, b_type: f4_r, c_type: f16_r, d_type: f16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxfp8_precision_dst_bfp16
{ a_type: f8_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbfp8_precision_dst_bfp16
{ a_type: f8_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf6_precision_dst_bfp16
{ a_type: f8_r, b_type: f6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxbf6_precision_dst_bfp16
{ a_type: f8_r, b_type: bf6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf8_mxf4_precision_dst_bfp16
{ a_type: f8_r, b_type: f4_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxfp8_precision_dst_bfp16
{ a_type: bf8_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbfp8_precision_dst_bfp16
{ a_type: bf8_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf6_precision_dst_bfp16
{ a_type: bf8_r, b_type: f6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxbf6_precision_dst_bfp16
{ a_type: bf8_r, b_type: bf6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf8_mxf4_precision_dst_bfp16
{ a_type: bf8_r, b_type: f4_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxfp8_precision_dst_bfp16
{ a_type: f6_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbfp8_precision_dst_bfp16
{ a_type: f6_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf6_precision_dst_bfp16
{ a_type: f6_r, b_type: f6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxbf6_precision_dst_bfp16
{ a_type: f6_r, b_type: bf6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf6_mxf4_precision_dst_bfp16
{ a_type: f6_r, b_type: f4_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxfp8_precision_dst_bfp16
{ a_type: bf6_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbfp8_precision_dst_bfp16
{ a_type: bf6_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf6_precision_dst_bfp16
{ a_type: bf6_r, b_type: f6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxbf6_precision_dst_bfp16
{ a_type: bf6_r, b_type: bf6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxbf6_mxf4_precision_dst_bfp16
{ a_type: bf6_r, b_type: f4_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxfp8_precision_dst_bfp16
{ a_type: f4_r, b_type: f8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbfp8_precision_dst_bfp16
{ a_type: f4_r, b_type: bf8_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf6_precision_dst_bfp16
{ a_type: f4_r, b_type: f6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxbf6_precision_dst_bfp16
{ a_type: f4_r, b_type: bf6_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
- &mxf4_mxf4_precision_dst_bfp16
{ a_type: f4_r, b_type: f4_r, c_type: bf16_r, d_type: bf16_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r}
# rocRoller predicate
rocRoller predicate: &rocroller_predicate
- &unrollKPredicate
{ a_type: f8_r, b_type: f8_r, c_type: f32_r, d_type: f32_r, compute_type: c_f32_r, scaleA: 3, scaleB: 3, scale_type: f32_r, M: 128, N: 128, K: 96}
# The Arguments struct passed directly to C++. See hipblaslt_arguments.hpp.
# The order of the entries is significant, so it can't simply be a dictionary.
# The types on the RHS are eval'd for Python-recognized types including ctypes
# and datatypes defined in Datatypes above. T*n represents array of length n.
Arguments:
- function: c_char*64
- name: c_char*64
- category: c_char*64
- known_bug_platforms: c_char*64
- alpha: c_double
- alphai: c_double
- beta: c_double
- betai: c_double
- stride_a: c_int64*32
- stride_b: c_int64*32
- stride_c: c_int64*32
- stride_d: c_int64*32
- stride_e: c_int64*32
- user_allocated_workspace: c_size_t
- M: c_int64*32
- N: c_int64*32
- K: c_int64*32
- lda: c_int64*32
- ldb: c_int64*32
- ldc: c_int64*32
- ldd: c_int64*32
- lde: c_int64*32
- batch_count: c_int32
- batch_mode: c_int32
- iters: c_int32
- cold_iters: c_int32
- warmup_time: c_float
- sample_time: c_float
- measure_time: c_float
- max_measure_time: c_float
- noise_threshold: c_float
- min_iters: c_int32
- max_iters: c_int32
- stability_threshold: c_float
- stability_window: c_int32
- stability_interval: c_int32
- adaptive: c_bool
- algo: c_uint32
- solution_index: c_int32
- requested_solution_num: c_int32
- a_type: hipDataType
- b_type: hipDataType
- c_type: hipDataType
- d_type: hipDataType
- compute_type: hipblasComputeType_t
- compute_input_typeA: hipDataType
- compute_input_typeB: hipDataType
- scale_type: hipDataType
- initialization: hipblaslt_initialization
- gpu_arch: c_char*16
- gpu_arch_exclude: c_char*16
- pad: c_uint32
- grouped_gemm: c_int32
- threads: c_uint16
- streams: c_uint16
- devices: c_uint8
- norm_check: c_int8
- allclose_check: c_int8
- unit_check: c_int8
- ulp_check: c_int8
- timing: c_int8
- transA: c_char
- transB: c_char
- activation_type: hipblaslt_activation_type
- activation_arg1: c_float
- activation_arg2: c_float
- bias_type: hipDataType
- aux_type: hipDataType
- bias_source: hipblaslt_bias_source
- bias_vector: c_bool
- bias_stride: c_int32
- scaleA: hipblaslt_scaling_format
- scaleB: hipblaslt_scaling_format
- scaleC: c_bool
- scaleD: c_bool
- scaleE: c_bool
- scaleAlpha_vector: c_bool
- amaxScaleA: c_bool
- amaxScaleB: c_bool
- amaxD: c_bool
- c_equal_d: c_bool
- HMM: c_bool
- use_e: c_bool
- gradient: c_bool
- norm_check_assert: c_bool
- swizzle_a: c_bool
- swizzle_b: c_bool
- dump_matrix: c_bool
- use_ext: c_bool
- use_ext_setproblem: c_bool
- algo_method: c_int32
- api_method: c_int32
- use_user_args: c_bool
- rotating: c_int32
- use_gpu_timer: c_bool
- skip_slow_solution_ratio: c_float
- gsu_vector: c_int32*32
- wgm_vector: c_int32*32
- print_solution_found: c_bool
- print_kernel_info: c_bool
- flush: c_bool
- tensile_solution_selection_method: c_int32
# These named dictionary lists [ {dict1}, {dict2}, etc. ] supply subsets of
# test arguments in a structured way. The dictionaries are applied to the test
# one at a time, to generate combinations. If one of this table's entries is
# a dictionary of size one, it means that the argument named by its key takes
# on values paired with argument named by its value. For example:
#
# - function: precision
#
# when used with the code:
#
# function:
# func1: prec1
# func2: prec2
# func3: prec3
#
# causes (function, precision) to take on the values (func1, prec1),
# (func2, prec2), (func3, prec3), etc.
Dictionary lists to expand:
- arguments
- transA_transB
- alpha_beta
- alphai_betai
- incx_incy
- matrix_size
- precision
- function: precision
- threads_streams
# In case an array argument needs to be passed directly to C as an array,
# it needs to be listed here to avoid being expanded into multiple test
# cases with each of its elements.
Lists to not expand:
- e.g., an array argument not to be expanded
# Defaults
Defaults:
M: 128
N: 128
K: 128
alpha: 1.0
alphai: 0.0
beta: 0.0
betai: 0.0
transA: '*'
transB: '*'
batch_count: 1
batch_mode: 0
HMM: false
pad: 4096
threads: 0
streams: 0
devices: 0
gpu_arch: ''
gpu_arch_exclude: ''
norm_check: 0
allclose_check: 0
unit_check: 1
ulp_check: 0
timing: 0
iters: 10
cold_iters: 2
# Adaptive-timing preset defaults (used when adaptive=true); keep in sync with
# hipblaslt_bench::adaptive_defaults in benchmark_stats.hpp.
warmup_time: 50.0
sample_time: 1.0
measure_time: 500.0
max_measure_time: 2000.0
noise_threshold: 0.01
min_iters: 10
max_iters: 0
stability_threshold: 0.05
stability_window: 32
stability_interval: 16
adaptive: false
algo: 0
solution_index: -1
requested_solution_num: 1
workspace_size: 0
initialization: rand_int
category: nightly
known_bug_platforms: ''
name: hipblaslt-bench
c_equal_d: false
user_allocated_workspace: 134217728
activation_type: none
activation_arg1: 0
activation_arg2: 0
bias_type: default
aux_type: hipblaslt_datatype_invalid
bias_source: d
bias_stride: 0
use_e: false
gradient: false
bias_vector: false
scaleA: none
scaleB: none
scaleC: false
scaleD: false
scaleE: false
scaleAlpha_vector: false
amaxScaleA: false
amaxScaleB: false
amaxD: false
grouped_gemm: 0
norm_check_assert: true
swizzle_a: false
swizzle_b: false
dump_matrix: false
use_ext: false
use_ext_setproblem: false
algo_method: 0
api_method: 0
use_user_args: false
rotating: 0
use_gpu_timer: false
skip_slow_solution_ratio: 0.0
gsu_vector: 0
wgm_vector: 0
print_solution_found: false
print_kernel_info: false
flush: false
tensile_solution_selection_method: -1
compute_input_typeA: hipblaslt_datatype_invalid
compute_input_typeB: hipblaslt_datatype_invalid
scale_type: hipblaslt_datatype_invalid