pytorch
28eb3c8f - [Vulkan] Generate ShaderInfos Directly via Codegen in gen_vulkan_spv (#91911)

Commit
1 year ago
[Vulkan] Generate ShaderInfos Directly via Codegen in gen_vulkan_spv (#91911) @bypass-github-export-checks Before this change, we have the data members which make up a ```ShaderInfo``` sitting in ```spv.h/.cpp``` in an unorganized manner. This diff makes the change such that the ```ShaderInfo```s are initialized directly in spv.h/.cpp Now spv.h looks like ``` #pragma once #include <stdint.h> #include <vector> #include <string> #include <ATen/native/vulkan/api/Types.h> #include <ATen/native/vulkan/api/vk_api.h> namespace at { namespace native { namespace vulkan { namespace api { struct ShaderInfo; } // namespace api extern const api::ShaderInfo adaptive_avg_pool2d_spv; ... extern const api::ShaderInfo conv2d_pw_2x2_spv; } // namespace vulkan } // namespace native } // namespace at ``` (Full File: P557399150) and spv.cpp looks like ``` #include <ATen/native/vulkan/spv.h> #include <ATen/native/vulkan/api/Shader.h> namespace at { namespace native { namespace vulkan { namespace { const uint32_t adaptive_avg_pool2d_spv_bin[] = { 119734787, ... }; ... const uint32_t conv2d_pw_2x2_spv_bin[] = { 119734787, ... }; } // namespace const api::ShaderInfo adaptive_avg_pool2d_spv( "vulkan.adaptive_avg_pool2d", adaptive_avg_pool2d_spv_bin, 3204, {VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER}, std::vector<uint32_t>(), api::StorageType::UNKNOWN, api::StorageType::UNKNOWN ); ... const api::ShaderInfo conv2d_pw_2x2_spv( "vulkan.conv2d_pw_2x2", conv2d_pw_2x2_spv_bin, 7736, {VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER}, {2, 2, 1}, api::StorageType::TEXTURE_2D, api::StorageType::TEXTURE_2D ); } // namespace vulkan } // namespace native } // namespace at ``` (Full File: P584237146) Differential Revision: [D41354313](https://our.internmc.facebook.com/intern/diff/D41354313/) Pull Request resolved: https://github.com/pytorch/pytorch/pull/91911 Approved by: https://github.com/mcr229
Author
Committer
Parents
Loading