Vulkan concatenation operator


Based on the tutorial:
PyTorch Vulkan Backend User Workflow — PyTorch Tutorials 1.8.1+cu102 documentation

The operator _cat is supposed to be supported in the vulkan backend. Yet when I try run an exported model using it on android, I get the following error:

RuntimeError: Could not run 'aten::_cat' with arguments from the 'Vulkan' backend. This could be because the operator doesn't exist for this backend, or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile, please visit for possible resolutions. 'aten::_cat' is only available for these backends: [CPU, QuantizedCPU, BackendSelect, Named, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, Tracer, Autocast, Batched, VmapMode].

Is there any reason this is happening?



It’s likely that the kernel of ‘aten::_cat’ is not implemented for Vulkan, or the implementation is not compiled with PyTorch. cc @IvanKobzarev

cc @ssjia - do you have some thoughts on this?

Vulkan cat operator is supported with limitations; a) 4 dimensional inputs only b) works for height and channel dim. PR 66103, 66669 and 67207 are for the Vulkan cat operator implementation.