[vulkan] Enable Pytorch Vulkan to build in FBCode (#73872)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73872
This diff adds an equivalent target for [`aten_vulkan`](https://fburl.com/code/h9ybej5u) in FBCode as the `ATen-vulkan` target. This diff simply creates equivalent fbcode targets for all the xplat targets needed to build `aten_vulkan`:
The following targets in `xplat/caffe2` have had equivalent targets created in `fbcode/caffe2/aten`
* `aten_vulkan_glsl_src_path`
* filegroup containing all Vulkan glsl files
* `gen_aten_vulkan_spv_lib`
* python library containing script to generate vulkan spv files
* `gen_aten_vulkan_spv_bin`
* python binary wrapping the above target
* `gen_aten_vulkan_spv`
* genrule to execute the above python script and create C++ headers containing the SPIR-V shader code
* `generated_aten_headers_vulkan`
* C++ library that points to the generated SPIR-V headers from above
* `aten_vulkan`
* Contains the Pytorch Vulkan backend
FBCode targets have also been added for:
* `Vulkan-Headers` which contains Vulkan API function signatures
* `vulkan_wrapper` which loads the vulkan library
* `dotslash:glslc` which wraps the glsl compiler in a target that can be executed by genrules
Test Plan:
Try building the new `ATen-vulkan` target:
```
cd fbsource/fbcode/caffe2/aten
buck build :ATen-vulkan
```
Also tested in the next diff which tries to use this target in a Python script in FBCode.
Reviewed By: beback4u
Differential Revision: D34647445
fbshipit-source-id: 7330df1e3858c88b934b06e8e75f4fdcfa88068e
(cherry picked from commit 25251bed83e97bb9ef96a5f611c6ed72ba4219fc)