# f32 graphs
--reset --op-kind=1:Multiply,1:Divide --in-shapes=,0:*acbd+1:*acbd+8:*acbd --tensor-property=3:undef,3:host_scalar --case=complex_fusion/mha/sdpa-plain-simplified-f32.json
--reset --case=complex_fusion/mha/gqa-plain-implicit-causal-mask-fp32-bs1.json
--reset --case=complex_fusion/mha/sdpa-plain-implicit-causal-mask-fp32-bs1.json
--reset --case=complex_fusion/mha/JAX-MHA-inf-fp32.json
--reset --case=complex_fusion/mha/JAX-MQA-inf-fp32.json
--reset --case=complex_fusion/mha/MHA-GPT-inf-fp32-bs1.json
--reset --case=complex_fusion/mha/MHA-bert_large-inf-fp32-bs1.json
--reset --case=complex_fusion/mha/MHA-stable_diffusion-inf-fp32-bs1.json
--reset --case=complex_fusion/mha/MHA-distill_bert-inf-fp32-bs1.json
--reset --case=complex_fusion/mha/GQA-f32.json
--reset --case=complex_fusion/mha/GQA-f32-v2.json
--reset --op-kind=1:undef,2:undef --case=complex_fusion/mha/sdpa-plain-simplified-f32.json
--reset --case=complex_fusion/mha/sdpa-plain-training-backward-f32.json
--reset --case=complex_fusion/mha/gqa-plain-training-backward-f32.json
--reset --dt=0:f32+1:f32+4:f32+7:f32+10:f32+13:f32+14:f32 --case=complex_fusion/mha/sdpa-plain-training-forward-bf16-f32.json
--reset --dt=0:f32+1:f32+4:f32+10:f32+13:f32+14:f32 --case=complex_fusion/mha/gqa-plain-training-forward-bf16-f32.json
--reset --tensor-property=205:undef+206:undef+207:undef,205:host_scalar+206:host_scalar+207:host_scalar --case=complex_fusion/mha/gqa-plain-training-fwd-w-dropout-f32.json

# f16 inputs + f32 intermediates + f16 outputs
--reset --op-kind=1:Multiply,1:Divide --dt=4:f16 --in-shapes=,1:128x2x16x8*512x256x16x2+2:128x2x16x8*512x256x16x2+3:128x2x16x8*512x256x16x2+5:1x1x16x16 --case=complex_fusion/mha/sdpa-plain-simplified-f16-f32.json
--reset --op-kind=1:Multiply,1:Divide --tensor-property=4:undef,4:host_scalar --case=complex_fusion/mha/sdpa-plain-simplified-f16-f32.json
--reset --dt=1:f16+3:f16+16:f16+19:f16+20:f16 --case=complex_fusion/mha/GQA-f32-v2.json
--reset --dt=1:f16+2:f16+3:f16+4:f16+6:f16+104:f16 --case=complex_fusion/mha/sdpa-plain-implicit-causal-mask-fp32-bs1.json
--reset --dt=1:f16+3:f16+8:f16+16:f16+19:f16+20:f16 --case=complex_fusion/mha/gqa-plain-implicit-causal-mask-fp32-bs1.json
--reset --case=complex_fusion/mha/gqa-plain-bottom-right-implicit-causal-mask-f16-f32.json
--reset --case=complex_fusion/mha/sdpa-plain-bottom-right-implicit-causal-mask-f16-f32.json
--reset --dt=0:f16+1:f16+4:f16+7:f16+10:f16+13:f16+14:f16 --case=complex_fusion/mha/sdpa-plain-training-forward-bf16-f32.json
--reset --dt=100:f16+101:f16+102:f16+103:f16+12:f16+105:f16+13:f16+104:f16+10:f16+28:f16+29:f16+31:f16 --case=complex_fusion/mha/sdpa-plain-training-backward-bf16-f32.json
--reset --dt=0:f16+1:f16+4:f16+10:f16+13:f16+14:f16 --case=complex_fusion/mha/gqa-plain-training-forward-bf16-f32.json
--reset --dt=100:f16+101:f16+102:f16+103:f16+12:f16+105:f16+13:f16+15:f16+104:f16+10:f16+30:f16+33:f16+31:f16+35:f16 --case=complex_fusion/mha/gqa-plain-training-backward-bf16-f32.json
--reset --dt=3:f16+4:f16+2:f16+1:f16+11:f16+0:f16+12:f16+14:f16+16:f16 --case=complex_fusion/mha/MHA-bert_large-inf-fp32-bs1.json
--reset --dt=0:f16+1:f16+3:f16+7:f16+2:f16+8:f16 --case=complex_fusion/mha/MHA-stable_diffusion-inf-fp32-bs1.json
--reset --dt=0:f16+1:f16+7:f16+8:f16+9:f16 --op-kind=1:undef,2:undef --case=complex_fusion/mha/sdpa-plain-simplified-f32.json
--reset --in-shapes=0:2x1x1024x128*131072x128x128x1+1:2x1x1024x128*131072x128x128x1+2:1*1+5:2x1x1024x128*131072x128x128x1 --case=complex_fusion/mha/sdpa-training-fwd-no-mask-f16-f32.json
--reset --dt=100:f16+101:f16+102:f16+103:f16+12:f16+105:f16+13:f16+104:f16+10:f16+28:f16+29:f16+31:f16 --case=complex_fusion/mha/sdpa-plain-training-backward-w-dmask-bf16-f32.json
--reset --dt=100:f16+101:f16+102:f16+103:f16+12:f16+105:f16+13:f16+15:f16+104:f16+10:f16+30:f16+33:f16+31:f16+35:f16 --case=complex_fusion/mha/gqa-plain-training-backward-w-dmask-bf16-f32.json
--reset --dt=200:f16+201:f16+202:f16+203:f16+204:f16+11:f16+12:f16
        --tensor-property=205:undef+206:undef+207:undef,205:host_scalar+206:host_scalar+207:host_scalar
        --case=complex_fusion/mha/gqa-plain-training-fwd-w-dropout-bf16-f32.json
--reset --dt=100:f16+101:f16+102:f16+103:f16+12:f16+105:f16+13:f16+15:f16+104:f16+10:f16+30:f16+33:f16+31:f16+35:f16
        --tensor-property=205:undef+206:undef+207:undef,205:host_scalar+206:host_scalar+207:host_scalar
        --case=complex_fusion/mha/gqa-plain-training-bwd-w-dropout-bf16-f32.json
--reset --dt=0:f16+1:f16+2:f16+12:f16+14:f16 --in-shapes=,\
        0:128x12x197x64*453888x37824x192x1+1:128x12x64x197*453888x37824x1x192+2:128x12x197x64*453888x37824x192x1+14:128x12x197x64*453888x37824x192x1,\
        0:128x12x197x64*302592x25216x128x2+1:128x12x64x197*302592x25216x394x2+2:128x12x197x64*302592x25216x128x2+13:128x12x197x1*4728x394x2x1+14:128x12x197x64*302592x25216x128x2
        --case=complex_fusion/mha/sdpa-vit-training-fwd-no-mask-bf16-f32.json

# bf16 inputs + f32 intermediates + bf16 outputs
--reset --op-kind=1:Multiply,1:Divide --dt=1:bf16+2:bf16+3:bf16+5:bf16+6:bf16+104:bf16 --tensor-property=4:undef,4:host_scalar --case=complex_fusion/mha/sdpa-plain-simplified-f16-f32.json
--reset --dt=3:bf16+4:bf16+2:bf16+1:bf16+11:bf16+0:bf16+12:bf16+14:bf16+16:bf16 --case=complex_fusion/mha/MHA-bert_large-inf-fp32-bs1.json
--reset --dt=1:bf16+3:bf16+16:bf16+19:bf16+20:bf16 --case=complex_fusion/mha/GQA-f32-v2.json
--reset --dt=1:bf16+3:bf16+8:bf16+16:bf16+19:bf16+20:bf16 --case=complex_fusion/mha/gqa-plain-implicit-causal-mask-fp32-bs1.json
--reset --dt=0:bf16+1:bf16+4:bf16+22:bf16+24:bf16+25:bf16 --case=complex_fusion/mha/gqa-plain-bottom-right-implicit-causal-mask-f16-f32.json
--reset --dt=0:bf16+1:bf16+4:bf16+22:bf16+24:bf16+25:bf16 --case=complex_fusion/mha/sdpa-plain-bottom-right-implicit-causal-mask-f16-f32.json
--reset --dt=0:bf16+1:bf16+3:bf16+7:bf16+2:bf16+8:bf16 --case=complex_fusion/mha/MHA-stable_diffusion-inf-fp32-bs1.json
--reset --in-shapes=,11:128x16x384x1*12288x768x2x1+14:128x16x384x64*786432x49152x128x2 --case=complex_fusion/mha/sdpa-plain-training-forward-bf16-f32.json
--reset --case=complex_fusion/mha/sdpa-plain-training-backward-bf16-f32.json
--reset --case=complex_fusion/mha/sdpa-plain-training-backward-w-dmask-bf16-f32.json
--reset --case=complex_fusion/mha/gqa-plain-training-forward-bf16-f32.json
--reset --case=complex_fusion/mha/gqa-plain-training-backward-bf16-f32.json
--reset --case=complex_fusion/mha/codegemma-bf16-f32.json
--reset --case=complex_fusion/mha/gemma2-bf16-f32.json
--reset --dt=1:bf16+2:bf16+3:bf16+4:bf16+6:bf16+104:bf16 --case=complex_fusion/mha/sdpa-plain-implicit-causal-mask-fp32-bs1.json
--reset --dt=0:bf16+1:bf16+7:bf16+8:bf16+9:bf16 --op-kind=1:undef,2:undef --case=complex_fusion/mha/sdpa-plain-simplified-f32.json
--reset --case=complex_fusion/mha/gqa-plain-training-backward-w-dmask-bf16-f32.json
--reset --tensor-property=205:undef+206:undef+207:undef,205:host_scalar+206:host_scalar+207:host_scalar --case=complex_fusion/mha/gqa-plain-training-fwd-w-dropout-bf16-f32.json
--reset --tensor-property=205:undef+206:undef+207:undef,205:host_scalar+206:host_scalar+207:host_scalar --case=complex_fusion/mha/gqa-plain-training-bwd-w-dropout-bf16-f32.json
--reset --in-shapes=,\
        0:128x12x197x64*453888x37824x192x1+1:128x12x64x197*453888x37824x1x192+2:128x12x197x64*453888x37824x192x1+14:128x12x197x64*453888x37824x192x1,\
        0:128x12x197x64*302592x25216x128x2+1:128x12x64x197*302592x25216x394x2+2:128x12x197x64*302592x25216x128x2+13:128x12x197x1*4728x394x2x1+14:128x12x197x64*302592x25216x128x2
        --case=complex_fusion/mha/sdpa-vit-training-fwd-no-mask-bf16-f32.json

# int8 graphs
--reset --case=complex_fusion/mha/MHA-GPT-inf-int8-bs1.json
--reset --case=complex_fusion/mha/MHA-bert_large-inf-int8-bs1.json
--reset --case=complex_fusion/mha/MHA-distill_bert-inf-int8-bs1.json
--reset --case=complex_fusion/mha/sdpa-plain-wo-scale-int8-bs1.json
--reset --case=complex_fusion/mha/sdpa-compressed-v-int8-gs32.json
--reset --case=complex_fusion/mha/sdpa-compressed-kv-int4-gs32.json
--reset --dt=0:s8+2:s8+6:s8+8:s8 --case=complex_fusion/mha/sdpa-compressed-kv-int4-gs32.json
--reset --case=complex_fusion/mha/sdpa-compressed-kv-implicit-causal-mask-int8-gs128.json

# fp8 graphs
--reset --case=complex_fusion/mha/sdpa-fp8-f32.json
