@@ -1254,10 +1254,12 @@ def _linear_fp32_suite() -> WebGPUTestSuite:
12541254def _conv2d_suite () -> WebGPUTestSuite :
12551255 # DaViT patch-embed / downsample convs + conv_transpose2d (same registration,
12561256 # folded by the `transposed` arg). NCHW fp32. Routing coverage (all vs the
1257- # same fp64 golden): patch_embed/conv3x3_pad1/strided/gemm_batched are
1258- # groups==1 → im2col tiled GEMM (gemm_batched pins the B>1 output write);
1259- # grouped_vec4 (groups=2, icpg=4) → direct vec4 kernel; depthwise (groups=8,
1260- # icpg=1) → direct scalar; transpose2x → conv_transpose2d.
1257+ # same fp64 golden): patch_embed/conv3x3_pad1/strided are groups==1 → im2col
1258+ # tiled GEMM; grouped_vec4 (groups=2, icpg=4) → direct vec4 kernel; depthwise
1259+ # (groups=8, icpg=1) → direct scalar; transpose2x → conv_transpose2d.
1260+ # No batched (B>1) case: check_conv_node in backends/vulkan/op_registry.py
1261+ # refuses to delegate a 4-D convolution whose batch is not 1, so the export
1262+ # would fall back to CPU and test nothing. Add one back once it is accepted.
12611263 return WebGPUTestSuite (
12621264 module_factory = make_conv ,
12631265 cases = [
@@ -1304,11 +1306,6 @@ def _conv2d_suite() -> WebGPUTestSuite:
13041306 },
13051307 inputs = (InputSpec (shape = (1 , 8 , 8 , 8 ), gen = _chw_ramp ),),
13061308 ),
1307- Case (
1308- name = "gemm_batched" ,
1309- construct = {"in_ch" : 8 , "out_ch" : 16 , "kernel" : 3 , "padding" : 1 },
1310- inputs = (InputSpec (shape = (2 , 8 , 16 , 16 ), gen = _chw_ramp ),),
1311- ),
13121309 Case (
13131310 name = "transpose2x" ,
13141311 construct = {
0 commit comments