[Vulkan] Implement select.int operator (#81771)
Summary:
Implemented Select operator for the Vulkan backend.
Special case implementation:
- Input tensor must be 3-dim, i.e. [C, H, W].
- dim must be 0 (i.e. along the channel dim)
References
- PyTorch Docs > torch > [torch.select](https://pytorch.org/docs/stable/generated/torch.select.html)
This allows [torch.unbind](https://pytorch.org/docs/stable/generated/torch.unbind.html) to work for the Vulkan backend as well.
Added tests cases to `vulkan_api_test.cpp` to test select and unbind.
Test Plan:
Added test cases to `/xplat/caffe2/aten/src/ATen/test/vulkan_api_test.cpp`
On Mac:
```
buck run //xplat/caffe2:pt_vulkan_api_test_binAppleMac
```
On Android:
```
buck build -c ndk.custom_libcxx=false -c pt.enable_qpl=0 //xplat/caffe2:pt_vulkan_api_test_binAndroid\#android-arm64 --show-output
adb push buck-out/gen/xplat/caffe2/pt_vulkan_api_test_binAndroid\#android-arm64 /data/local/tmp/vulkan_api_test
adb shell "/data/local/tmp/vulkan_api_test"
Differential Revision: D37968720
Pull Request resolved: https://github.com/pytorch/pytorch/pull/81771
Approved by: https://github.com/SS-JIA