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
805 lines
39 KiB
YAML
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
|