AMD R600 LLVM GPU Back-End Gets Better

Written by Michael Larabel in AMD on 15 February 2013 at 03:06 PM EST. 7 Comments
AMD
This week was marked by quite a steady patch flow of improvements to the AMD R600 GPU LLVM back-end that's used for Radeon Gallium3D OpenCL support and is also being bettered for its handling of OpenGL.

Among the patches that hit mesa-dev this week -- and there's also been some new patches already pulled into the LLVM code-base -- include:

- Initial scheduler code. "This is a skeleton for a pre-RA MachineInstr scheduler strategy. Currently it only tries to expose more parallelism for ALU instructions (this also makes the distribution of GPR channels more uniform and increases the chances of ALU instructions to be packed together in a single VLIW group). Also it tries to reduce clause switching by grouping instruction of the same kind (ALU/FETCH/CF) together."

- Support for 128-bit parameters.

- UBO support in the LLVM back-end for OpenGL Uniform Buffer Objects.

- Cleaned-up literal handling.

- TBO support a.k.a. OpenGL Texture Buffer Objects.

- Improved loop handling and various other R600 "structurizer" improvements.

There were also various other fixes and minor improvements to the R600 LLVM back-end. Earlier this month was when R600 LLVM indirect addressing support was finally introduced.

For more information on using the open-source Radeon OpenCL stack with Gallium3D, read Running OpenCL On The GPU With Gallium3D.

New benchmarks of the R600 LLVM back-end are forthcoming but until then are my R600 Gallium3D LLVM benchmarks from last year. Since then many improvements have been made.

This LLVM Radeon GPU back-end will officially introduced in LLVM 3.3 when released later this year.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week