--reset

# Test v2 implementation
--batch=option_set_v2
--impl=v2
--batch=option_set_v2
--reset

# f32
--dt=f32
--mb=2,16
--dir=FWD_B,BWD_D,BWD_WB
--batch=set_gpu

# f64
--dt=f64
--mb=2,16
--dir=FWD_B,BWD_D,BWD_W
--batch=set_gpu

# fpmath-mode
--dt=f32
--mb=2,16
--dir=FWD_B,BWD_D,BWD_WB
--attr-fpmath=tf32,bf16
--batch=set_gpu

# f16
--reset
--dt=f16,f16:f16:f32
--mb=2,16
--dir=FWD_B
--batch=set_gpu

--dt=f16
--mb=2,16
--dir=BWD_D,BWD_W
--batch=set_gpu

# bf16
--dt=bf16,bf16:bf16:f32
--mb=2,16
--dir=FWD_B
--batch=set_gpu

--dt=bf16,f32:bf16:bf16
--mb=2,16
--dir=BWD_D
--batch=shapes_resnet_50

--mb=2,16,32
--dt=bf16,bf16:f32:bf16
--dir=BWD_WB
--batch=shapes_resnet_50

# i8
# i8 - 1x1 tests
--reset --dt=u8:s8:u8,u8:s8:s8,u8:s8:s32
--stag=any,axb
--dir=FWD_I,FWD_B
--mb=2,16
mb2ic256ih14oc1024oh14kh1ph0n
mb2ic32ih14oc32oh14kh1ph0n
mb2ic32ih7oc512oh7kh1ph0n
mb2ic512ih14oc32oh14kh1ph0n
mb2ic16ih31oc16kh1sh2ph2
mb2ic16ih31oc16kh1sh2ph1
mb2ic16ih31oc16kh1sh1ph1
mb2ic16ih31oc16kh1sh1ph2
--batch=shapes_regression_dw

--reset --dt=u8:s8:u8,u8:s8:s8
--stag=any
--mb=2,16
--dir=FWD_B,BWD_D --batch=set_gpu

--reset --dt=u8:s8:s32,u8:s8:f32,u8:s8:f16,u8:s8:bf16
--mb=2,16
--stag=any,axb
--dir=FWD_B --batch=set_gpu

# test scale and post-ops
--batch=harness_conv_attrs_gpu

# test zero points
--batch=harness_conv_attrs_int8_asymmetric

# test padding
--reset --dt=f16,f32,f64
--stag=any,axb
g1mb16ic16ih2iw9oc16oh2ow11kh2kw1sh2sw1ph1pw1
g1mb16ic32id9ih1iw9oc32od3oh1ow5kd3kh1kw1sd3sh1sw3pd1ph0pw2dd1dh0dw0
g1mb16ic32ih5iw9oc32oh1ow5kh4kw1sh3sw3ph1pw2dh1dw1
g1mb32ic16id12ih5iw5oc32od14oh2ow4kd1kh3kw2sd1sh2sw2pd1ph1pw2dd0dh1dw1
g1mb32ic32ih11iw6oc16oh15ow4kh1kw4sh1sw2ph2pw2
g1mb32ic32ih6iw15oc32oh7ow19kh4kw1ph2pw2dh0dw1
g1ic32id2ih13iw15oc32od4oh15ow9kd1kh2kw3sd1sh1sw2pd1ph2pw2dd1dh1dw0
g1mb32ic32ih3iw4oc16oh4ow3kh1kw2sh2sw2ph2pw1dh1dw0
mb1_ic16oc16_id1od2kd1sd1dd1pd0_ih2oh3kh2sh1dh1ph2_iw5ow3kw3sw2dw0pw0
g2ic2ih1iw2oc4oh1ow2kh1kw1ph0pw0

# nhwc
--reset
--skip-impl=ref
--stag=axb
--wtag=xba
--dt=u8:s8:s8,f16
--dir=FWD_B --mb=2,32 --batch=set_gpu

--reset
--skip-impl=ref
--stag=axb
--dt=f32,bf16
--dir=BWD_D,BWD_WB --mb=2,32 --batch=set_gpu

# mixed nchw
--reset
--skip-impl=ref
--stag=axb,abx
--wtag=xba,abx
--dtag=axb,abx
--dir=FWD_B,BWD_WB --mb=2 --batch=shapes_ci_gpu

# regression test cases
--batch=test_conv_regression_gpu

#test user scratchpad
--reset
--dir=BWD_W
--dt=bf16
--attr-scratchpad=user
mb128ic3ih230oc64oh112kh7sh2ph0
#int8dst
--reset
--dt=f16:f16:s8,f16:f16:u8,bf16:bf16:s8,bf16:bf16:u8,f32:f32:s8,f32:f32:u8
--mb=2,16
--dir=FWD_B --stag=any
--batch=set_gpu
--batch=shapes_ci_gpu

# fp8 Stochastic Rounding
--reset
--dt=f8_e5m2,f8_e4m3
--mb=2,16
--dir=FWD_B
--attr-rounding-mode=dst:stochastic
--batch=shapes_ci_gpu

# mixed fp8
--reset --mb=1 --dt=f8_e5m2:f8_e5m2:bf16,f8_e4m3:f8_e4m3:bf16 --dir=fwd_d --batch=shapes_basic
--reset --mb=1 --dt=f16:f8_e5m2:f8_e5m2,f32:f8_e4m3:f8_e4m3 --dir=bwd_d --batch=shapes_basic
--reset --mb=1 --dt=f8_e5m2:f16:f8_e5m2,f8_e4m3:f32:f8_e4m3 --dir=bwd_w --batch=shapes_basic
--reset --mb=1 --dt=f8_e5m2,f8_e4m3 --dir=fwd_d
--attr-scales=wei:per_oc:bf16+dst:per_oc:bf16,\
                      wei:common:2:bf16+src:common:2:bf16+dst:common:2:bf16,\
                      wei:per_oc:f32+dst:per_oc:f32,\
                      wei:common:2:f32+src:common:2:f32+dst:common:2:f32
--batch=shapes_ci_gpu

# Test fp4
--reset
--batch=test_conv_fp4

# dw xe fwd conv
--reset
--dt=f16,f16:f16:s8
--mb=48,64
--dir=FWD_B
--attr-post-ops=add:f32:per_oc+linear:42.5+clip:0:255
--batch=shapes_mobilenet_dw

--batch=harness_conv_arbitrary_dst

# Test CI in Nightly
--reset
--batch=test_conv_gpu_ci

# Test zero points
--reset
--batch=harness_conv_zero_points

# Test strided tensors
--reset
--dt=u8:s8:u8,f16,f32
--mb=1,16
--dir=FWD_B,BWD_D
--batch=shapes_mem_strided

--reset
--dt=bf16,f32
--mb=1,16
--dir=BWD_WB
--batch=shapes_mem_strided

# ref smoke test
--batch=harness_conv_smoke_ref


# Test layers of some key GPU DL Frameworks
--reset
--batch=option_set_fwks_key_gpu
--reset
--batch=option_set_fwks_ext_gpu
