pytorch
a0e44284 - [pytorch] add Vulkan support for the `aten::cat` operator for 1d, 2d, 3d and 4d (#102128)

Commit
2 years ago
[pytorch] add Vulkan support for the `aten::cat` operator for 1d, 2d, 3d and 4d (#102128) Summary: Implement `torch.cat(tensors, dim=0)`, which concatenates a given sequence of tensors in the given dimension, for Vulkan backend. See the behavior of the operator here: https://pytorch.org/docs/stable/generated/torch.cat.html Test Plan: ``` (base) luwei@luwei-mbp fbsource % buck run --target-platforms ovr_config//platform/macos:arm64-fbsource //xplat/caffe2:pt_vulkan_api_test_binAppleMac\#macosx-arm64 -c pt.vulkan_full_precision=1 -- --gtest_filter="*cat_*" Downloaded 0/2 artifacts, 0.00 bytes, 100.0% cache miss (for updated rules) Building: finished in 12.2 sec (100%) 471/471 jobs, 2/471 updated Total time: 12.2 sec BUILD SUCCEEDED Running main() from xplat/third-party/gmock/googletest-1.12.1/googletest/src/gtest_main.cc Note: Google Test filter = *cat_* [==========] Running 40 tests from 1 test suite. [----------] Global test environment set-up. [----------] 40 tests from VulkanAPITest [ RUN ] VulkanAPITest.cat_4d_dim0_invalidinputs_exceptions [ OK ] VulkanAPITest.cat_4d_dim0_invalidinputs_exceptions (73 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_samebatch_success [ OK ] VulkanAPITest.cat_4d_dim0_samebatch_success (36 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_diffbatch_success [ OK ] VulkanAPITest.cat_4d_dim0_diffbatch_success (20 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_singledepth_success [ OK ] VulkanAPITest.cat_4d_dim0_singledepth_success (2 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_singletensor_success [ OK ] VulkanAPITest.cat_4d_dim0_singletensor_success (4 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_twotensors_success [ OK ] VulkanAPITest.cat_4d_dim0_twotensors_success (13 ms) [ RUN ] VulkanAPITest.cat_4d_dim0_negdim_success [ OK ] VulkanAPITest.cat_4d_dim0_negdim_success (38 ms) [ RUN ] VulkanAPITest.cat_4d_dim1_negdim_success [ OK ] VulkanAPITest.cat_4d_dim1_negdim_success (26 ms) [ RUN ] VulkanAPITest.cat_4d_dim2_negdim_success [ OK ] VulkanAPITest.cat_4d_dim2_negdim_success (31 ms) [ RUN ] VulkanAPITest.cat_4d_dim3_negdim_success [ OK ] VulkanAPITest.cat_4d_dim3_negdim_success (30 ms) [ RUN ] VulkanAPITest.cat_4d_dim1_singledepth_success [ OK ] VulkanAPITest.cat_4d_dim1_singledepth_success (2 ms) [ RUN ] VulkanAPITest.cat_4d_dim1_singletensor_success [ OK ] VulkanAPITest.cat_4d_dim1_singletensor_success (4 ms) [ DISABLED ] VulkanAPITest.DISABLED_cat_4d_dim1_twotensors_success [ RUN ] VulkanAPITest.cat_4d_dim1_bat1_mult4ch_success [ OK ] VulkanAPITest.cat_4d_dim1_bat1_mult4ch_success (4 ms) [ RUN ] VulkanAPITest.cat_4d_dim1_bat2_mult4ch_success [ OK ] VulkanAPITest.cat_4d_dim1_bat2_mult4ch_success (7 ms) [ RUN ] VulkanAPITest.cat_4d_dim1_mult4ch_mixed_success [ OK ] VulkanAPITest.cat_4d_dim1_mult4ch_mixed_success (19 ms) [ DISABLED ] VulkanAPITest.DISABLED_cat_4d_dim1_mult4ch_nonmult4ch_success [ RUN ] VulkanAPITest.cat_4d_dim2_sameheight_success [ OK ] VulkanAPITest.cat_4d_dim2_sameheight_success (23 ms) [ RUN ] VulkanAPITest.cat_4d_dim2_diffheight_success [ OK ] VulkanAPITest.cat_4d_dim2_diffheight_success (23 ms) [ RUN ] VulkanAPITest.cat_4d_dim2_singledepth_success [ OK ] VulkanAPITest.cat_4d_dim2_singledepth_success (2 ms) [ RUN ] VulkanAPITest.cat_4d_dim2_invalidinputs_exceptions [ OK ] VulkanAPITest.cat_4d_dim2_invalidinputs_exceptions (23 ms) [ RUN ] VulkanAPITest.cat_4d_dim3_invalidinputs_exceptions [ OK ] VulkanAPITest.cat_4d_dim3_invalidinputs_exceptions (23 ms) [ RUN ] VulkanAPITest.cat_4d_dim3_samewidth_success [ OK ] VulkanAPITest.cat_4d_dim3_samewidth_success (30 ms) [ RUN ] VulkanAPITest.cat_4d_dim3_diffwidth_success [ OK ] VulkanAPITest.cat_4d_dim3_diffwidth_success (22 ms) [ RUN ] VulkanAPITest.cat_3d_dim0_diff_channel_success [ OK ] VulkanAPITest.cat_3d_dim0_diff_channel_success (8 ms) [ RUN ] VulkanAPITest.cat_3d_dim0_same_channel_success [ OK ] VulkanAPITest.cat_3d_dim0_same_channel_success (5 ms) [ RUN ] VulkanAPITest.cat_3d_dim1_diffheight_success [ OK ] VulkanAPITest.cat_3d_dim1_diffheight_success (7 ms) [ RUN ] VulkanAPITest.cat_3d_dim1_same_height_success [ OK ] VulkanAPITest.cat_3d_dim1_same_height_success (6 ms) [ RUN ] VulkanAPITest.cat_3d_dim2_diffwidth_success [ OK ] VulkanAPITest.cat_3d_dim2_diffwidth_success (9 ms) [ RUN ] VulkanAPITest.cat_3d_dim2_samewidth_success [ OK ] VulkanAPITest.cat_3d_dim2_samewidth_success (4 ms) [ RUN ] VulkanAPITest.cat_3d_dim0_negdim_success [ OK ] VulkanAPITest.cat_3d_dim0_negdim_success (8 ms) [ RUN ] VulkanAPITest.cat_3d_dim1_negdim_success [ OK ] VulkanAPITest.cat_3d_dim1_negdim_success (8 ms) [ RUN ] VulkanAPITest.cat_3d_dim2_negdim_success [ OK ] VulkanAPITest.cat_3d_dim2_negdim_success (5 ms) [ RUN ] VulkanAPITest.cat_2d_dim0_same_height_success [ OK ] VulkanAPITest.cat_2d_dim0_same_height_success (2 ms) [ RUN ] VulkanAPITest.cat_2d_dim0_diff_height_success [ OK ] VulkanAPITest.cat_2d_dim0_diff_height_success (1 ms) [ RUN ] VulkanAPITest.cat_2d_dim1_same_width_success [ OK ] VulkanAPITest.cat_2d_dim1_same_width_success (1 ms) [ RUN ] VulkanAPITest.cat_2d_dim1_diff_width_success [ OK ] VulkanAPITest.cat_2d_dim1_diff_width_success (1 ms) [ RUN ] VulkanAPITest.cat_2d_dim0_negdim_success [ OK ] VulkanAPITest.cat_2d_dim0_negdim_success (1 ms) [ RUN ] VulkanAPITest.cat_2d_dim1_negdim_success [ OK ] VulkanAPITest.cat_2d_dim1_negdim_success (2 ms) [ RUN ] VulkanAPITest.cat_1d_dim0_same_width_success [ OK ] VulkanAPITest.cat_1d_dim0_same_width_success (0 ms) [ RUN ] VulkanAPITest.cat_1d_dim0_diff_width_success [ OK ] VulkanAPITest.cat_1d_dim0_diff_width_success (0 ms) [ RUN ] VulkanAPITest.cat_1d_dim0_negdim_success [ OK ] VulkanAPITest.cat_1d_dim0_negdim_success (0 ms) [----------] 40 tests from VulkanAPITest (543 ms total) [----------] Global test environment tear-down [==========] 40 tests from 1 test suite ran. (543 ms total) [ PASSED ] 40 tests. YOU HAVE 2 DISABLED TESTS ``` Reviewed By: SS-JIA Differential Revision: D46059444 Pull Request resolved: https://github.com/pytorch/pytorch/pull/102128 Approved by: https://github.com/SS-JIA
Author
Committer
Parents
Loading