[pytorch-vulkan] aten::uniform (#102431)
Summary:
aten::uniform implementation.
the randomization function didn't use Perlin, as the outcome distribution is not uniform.
choose to use PCG (https://www.reedbeta.com/blog/hash-functions-for-gpu-rendering/) instead.
Test Plan:
```
yipjustin@yipjustin-mac fbsource % buck run -c pt.vulkan_full_precision=1 --target-platforms ovr_config//platform/macos:arm64-fbsource //xplat/caffe2:pt_vulkan_api_test_binAppleMac\#macosx-arm64 -- --gtest_filter="*uniform*"
Downloaded 0/47 artifacts, 0.00 bytes, 100.0% cache miss (for updated rules)
Building: finished in 40.0 sec (100%) 524/524 jobs, 10/524 updated
Total time: 40.0 sec
BUILD SUCCEEDED
Running main() from xplat/third-party/gmock/googletest-1.12.1/googletest/src/gtest_main.cc
Note: Google Test filter = *uniform*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from VulkanAPITest
[ RUN ] VulkanAPITest.uniform
[ OK ] VulkanAPITest.uniform (54 ms)
[----------] 1 test from VulkanAPITest (54 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (54 ms total)
[ PASSED ] 1 test.
```
Differential Revision: D46170098
Pull Request resolved: https://github.com/pytorch/pytorch/pull/102431
Approved by: https://github.com/SS-JIA