ACO Radeon Shader Back-End Adds Unit Testing Framework To Help Test Optimizations
The popular "ACO" shader compiler back-end that recently was promoted to the default shader compiler for Mesa's open-source Radeon Vulkan driver (RADV) has long been testing with shaders and traces while now a proper unit testing framework is being introduced for verifying optimizations are correctly handled, ensuring no regressions, etc.
ACO continues on a nice upward trajectory this year with being the default over AMDGPU LLVM for the RADV driver in Mesa 20.2, Valve continuing to fund the developers working on it, RadeonSI OpenGL driver support still being worked on, and various performance optimizations continuing. For helping to keep on that trajectory, today a unit testing framework was merged for ACO.
To complement their shader-based testing, this unit testing framework is focused on looking at the generated shader intermediate representation (IR) and GPU Assembly. This can help diagnose optimizations gone awry or not having their intended impact. This unit testing can also work without an AMD GPU even being present on the system in just looking at the shader compiler output.
More details on this unit testing framework for ACO via this Mesa merge request. This framework has been in the works for roughly the past half-year by developers working under contract for Valve.
ACO continues on a nice upward trajectory this year with being the default over AMDGPU LLVM for the RADV driver in Mesa 20.2, Valve continuing to fund the developers working on it, RadeonSI OpenGL driver support still being worked on, and various performance optimizations continuing. For helping to keep on that trajectory, today a unit testing framework was merged for ACO.
To complement their shader-based testing, this unit testing framework is focused on looking at the generated shader intermediate representation (IR) and GPU Assembly. This can help diagnose optimizations gone awry or not having their intended impact. This unit testing can also work without an AMD GPU even being present on the system in just looking at the shader compiler output.
More details on this unit testing framework for ACO via this Mesa merge request. This framework has been in the works for roughly the past half-year by developers working under contract for Valve.
4 Comments