An experiment aimed at speeding up SPIR-V by heuristically selecting the order of optimization application using a GA (Genetic Algorithm).
We did not obtain results that exceed the measurement error of GPU execution time.
This holds true not only for the current GA system but also for the -O
option of spirv-opt.
Perhaps in graphics-related tasks, the content of a single shader is trivial compared to the overhead of handling multiple shaders or the sheer number of draw calls.
- install MSVC
- install Rust
- install Vulkan SDK
- set a environment variable
VulkanInclude
toVulkanSDK/<version>/Include
- set a environment variable
VulkanLib
toVulkanSDK/<version>/Lib
- run
build.bat
- install Docker
- run
docker build -t Tengu712/select-spirv-opts-order .
- run
docker run Tengu712/select-spirv-opts-order