--reset

# int8 wei decompression
--wtag=any,ab,ba
--dt=bf16:s8:bf16,bf16:u8:bf16
--attr-scales=wei:common:2,wei:per_oc:bf16
--attr-fpmath=bf16:true
--batch=shapes_2d

--reset
--wtag=any,ab,ba
--dt=f16:s8:f16,f16:u8:f16
--attr-scales=wei:common:2,wei:per_oc,wei:per_ocic:f16
--attr-zero-points=,wei:common:2,wei:per_oc,wei:per_ocic:s8
--attr-fpmath=f16:true
--batch=shapes_2d_ci

--reset
--wtag=any,abc,acb
--dt=bf16:s8:bf16,bf16:u8:bf16
--attr-scales=wei:per_ocic:bf16:2x1
--attr-zero-points=,wei:per_ocic:u8:4x1
--attr-fpmath=bf16:true
1x5x12:1x12x17
3x5x12:3x12x17
3x5x12:1x12x17

--reset
--dt=f32:s8:f32
--attr-fpmath=f16:true,bf16:true,tf32:true
--attr-scales=wei:common:2,wei:per_oc,wei:per_ocic:f16
--attr-zero-points=,wei:common:2,wei:per_oc,wei:per_ocic:s8
77x133:133x117
15x24x16:15x16x32
7x16x24x8:7x16x8x24

--reset
--stag=ba
--dt=bf16:s8:bf16,bf16:u8:bf16
--attr-scales=wei:common:2,wei:per_oc:bf16
--attr-fpmath=bf16:true
40x20:20x36
41x21:21x37
1x4096:4096x2048

--reset
--stag=ba
--dt=bf16:s8:bf16
--attr-scales=wei:per_ocic:bf16:128x1
--attr-fpmath=bf16:true
2048x4096:4096x2048

--reset
--stag=ba
--dt=f16:s8:f16,f16:u8:f16
--attr-scales=wei:common:2,wei:per_oc:f16
--attr-fpmath=f16:true
40x20:20x36
41x21:21x37
1x4096:4096x2048

--reset
--dt=bf16:s8:bf16,bf16:u8:bf16
--wtag=any,ab,ba
--attr-scales=wei:common:2,wei:per_oc:bf16
--attr-zero-points=wei:common:1:u8,wei:per_oc:u8
--attr-fpmath=bf16:true
1x4096:4096x4096

--reset
--dt=f16:s8:f16,f16:u8:f16
--wtag=any,ab,ba
--attr-scales=wei:common:2,wei:per_oc:f16
--attr-zero-points=wei:common:1:u8,wei:per_oc:u8
--attr-fpmath=f16:true
1x4096:4096x4096

# int4 wei decompression
--reset
--dt=bf16:s4:bf16,bf16:u4:bf16
--wtag=any,abc,acb
--attr-scales=wei:common:2,wei:per_oc:bf16,wei:per_ocic:bf16:32x1
--attr-zero-points=wei:common:1:u8,wei:per_oc:u4,wei:per_ocic:s4,wei:per_ocic:s4:32x1
--attr-fpmath=bf16:true
7x24x32:7x32x64
7x25x32:1x32x65
3x96x96:3x96x64
3x14x96:1x96x77

--reset
--dt=f16:s4:f16,f16:u4:f16
--wtag=any,abc,acb
--attr-scales=wei:common:2,wei:per_oc:f16,wei:per_ocic:f16:128x1
--attr-zero-points=wei:common:1:u8,wei:per_oc:u4,wei:per_ocic:u4,wei:per_ocic:u4:128x1
--attr-fpmath=f16:true
2x40x256:2x256x64
7x41x256:1x256x63
3x96x512:3x512x64
3x6x512:1x512x62

--reset
--dt=bf16:s4:bf16,bf16:u4:bf16
--wtag=any,ab,ba
--attr-scales=wei:common:2,wei:per_oc:bf16,wei:per_ocic:bf16:128x1
--attr-zero-points=wei:common:1:u8,wei:per_oc:u4,wei:per_ocic:u4,wei:per_ocic:u4:128x1
--attr-fpmath=bf16:true
1x4096:4096x4096

--reset
--dt=f16:s4:f16,f16:u4:f16
--wtag=any,ab,ba
--attr-scales=wei:common:2,wei:per_oc:f16,wei:per_ocic:f16:128x1
--attr-zero-points=wei:common:1:u8,wei:per_oc:u4,wei:per_ocic:u4,wei:per_ocic:u4:128x1
--attr-fpmath=f16:true
1x4096:4096x4096

# int4 src grouped quantization
--reset
--wtag=any,ab,ba
--dt=s8:s8:f16
--attr-scales=src:common:0.5:f32+wei:per_oc:f16
4x256:256x64
6x384:384x100

--wtag=any,ab,ba
--dt=s8:s4:f16
--attr-scales=src:per_oc:f16:1x32+wei:per_ocic:f16:128x1,\
              src:per_ocic:f16:1x256+wei:per_ocic:f16:128x1
--attr-zero-points=wei:per_ocic:s4:128x1 # groups matches scales groups
4x256:256x64
6x256:256x100

--wtag=any,ab,ba
--dt=s8:u8:f16
--attr-scales=src:per_oc:f16:1x32+wei:per_ocic:f16:128x1,\
              src:per_ocic:f16:1x256+wei:per_ocic:f16:128x1
4x256:256x64
6x256:256x100

--wtag=any,abc,acb
--dt=s8:u4:f32
--attr-scales=src:per_oc:f16:1x16+wei:per_ocic:f16:192x1,\
              src:per_ocic:f16:1x192+wei:per_ocic:f16:192x1,
--attr-zero-points=wei:per_ocic:u4:192x1 # groups matches scales groups
12x4x576:12x576x192
12x6x192:12x192x100
