Mesa 20.0 Lands A Load/Store Vectorizer As Latest "ACO" Backend Improvement
While the Radeon "ACO" compiler back-end performance is already looking very good in the speed department over the AMDGPU LLVM back-end for the Vulkan driver as shown in recent benchmarks, it's getting even better.
On Monday another batch of ACO improvements landed. One of the big changes is the introduction of a load/store vectorizer that has been under review for four months before being approved for merging yesterday. This work by Rhys Perry is designed to "greatly reduce the number of memory operations."
In the patch enabling the vectorizer, it yielded a code decrease of around 13% less for NeiR:Automata and about 15% less generated code for GTA V. Other games are likely to benefit too. Ultimately the less code to deal with means faster load times and also possible frame-rate implications.
Mesa contributor Connor Abbott meanwhile has merged his work on an LLVM-independent way for handling shader arguments for helping ACO too. This work should lead to lower resource handling in NIR, making it easier to support ACO for other drivers, and other benefits.
Unrelated to ACO but also of interesting work is the long-standing merge request by Eric Anholt finally being honored for a NIR scheduling pass for register pressure and similar to code he's written for Intel and Broadcom VC4 but with it now being done in NIR should be reusable across drivers.
Exciting times as always in Mesa Git land! Mesa 20.0 will be out as stable around the end of February.
On Monday another batch of ACO improvements landed. One of the big changes is the introduction of a load/store vectorizer that has been under review for four months before being approved for merging yesterday. This work by Rhys Perry is designed to "greatly reduce the number of memory operations."
In the patch enabling the vectorizer, it yielded a code decrease of around 13% less for NeiR:Automata and about 15% less generated code for GTA V. Other games are likely to benefit too. Ultimately the less code to deal with means faster load times and also possible frame-rate implications.
Mesa contributor Connor Abbott meanwhile has merged his work on an LLVM-independent way for handling shader arguments for helping ACO too. This work should lead to lower resource handling in NIR, making it easier to support ACO for other drivers, and other benefits.
Unrelated to ACO but also of interesting work is the long-standing merge request by Eric Anholt finally being honored for a NIR scheduling pass for register pressure and similar to code he's written for Intel and Broadcom VC4 but with it now being done in NIR should be reusable across drivers.
Exciting times as always in Mesa Git land! Mesa 20.0 will be out as stable around the end of February.
8 Comments