Skip to content

Commit 6e72e27

Browse files
authored
[ET-VK][ez] Fix registration for convolution operator (#13253)
## Context Update the registration of the convolution operator to indicate that the weight tensor is prepacked and should not undergo normal texture limits checking. The current registration may cause valid convolution operators to not be partitioned since the export logic will think the weight tensor is non representable using channels packed textures. An example weight size would be something like [256, 256, 1, 1] which would result in a texture with extents [1, 1, 16384] which may exceed texture limits on some machines. Differential Revision: [D79893086](https://our.internmc.facebook.com/intern/diff/D79893086/)
1 parent fabce25 commit 6e72e27

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

backends/vulkan/op_registry.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,19 @@ def register_2d_pool_op():
435435
)
436436
def register_convolution_op():
437437
return OpFeatures(
438-
inputs_storage=utils.CHANNELS_PACKED_TEXTURE,
438+
inputs_storage=[
439+
utils.CHANNELS_PACKED_TEXTURE, # input
440+
utils.NO_STORAGE, # weight (prepacked)
441+
utils.NO_STORAGE, # bias (prepacked)
442+
utils.NO_STORAGE, # stride (non tensor)
443+
utils.NO_STORAGE, # padding (non tensor)
444+
utils.NO_STORAGE, # dilation (non tensor)
445+
utils.NO_STORAGE, # transposed (non tensor)
446+
utils.NO_STORAGE, # output_padding (non tensor)
447+
utils.NO_STORAGE, # groups (non tensor)
448+
utils.NO_STORAGE, # output_min (non tensor)
449+
utils.NO_STORAGE, # output_max (non tensor)
450+
],
439451
supports_resize=True,
440452
supports_prepacking=True,
441453
)

0 commit comments

Comments
 (0)