Marek Has Been Taking To AMDGPU LLVM Optimizations
Well known AMD open-source driver developer Marek Olšák has ruthlessly been optimizing the Radeon Mesa driver stack for years. With RadeonSI getting fine-tuned and already largely outperforming the AMDGPU-PRO OpenGL driver and most of the big ticket improvements complete, it appears his latest focus is on further optimizing the AMDGPU LLVM compiler back-end.
This AMDGPU LLVM compiler back-end is what's used by RadeonSI but is also leveraged by the RADV Vulkan driver, among other potential use-cases. Lately Marek has been filing patches for optimizing the instructions generated during the shader compilation process.
Some recent AMDGPU LLVM patch examples include a -5.3% code size in affected shaders, -9.9% code size decrease in affected shaders, and other improvements.
His latest LLVM activity can be found here and here.
These compiler back-end improvements are queuing in LLVM 6.0, which will be released as stable early next year, but some packages like the Padoka PPA do a good job already following SVN/Git for incorporating these compiler back-end optimizations.
This AMDGPU LLVM compiler back-end is what's used by RadeonSI but is also leveraged by the RADV Vulkan driver, among other potential use-cases. Lately Marek has been filing patches for optimizing the instructions generated during the shader compilation process.
Some recent AMDGPU LLVM patch examples include a -5.3% code size in affected shaders, -9.9% code size decrease in affected shaders, and other improvements.
His latest LLVM activity can be found here and here.
These compiler back-end improvements are queuing in LLVM 6.0, which will be released as stable early next year, but some packages like the Padoka PPA do a good job already following SVN/Git for incorporating these compiler back-end optimizations.
26 Comments