AMD R600 LLVM GPU Back-End Gets Better

Posted by Michael Larabel on February 15, 2013

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. NVIDIA Driver Soon Likely To Support EGL, Mir
  3. OpenMandriva Goes Into Alpha Form, Russian-Based
  4. NVIDIA Brings Their Linux Driver To ARM
  5. D Language Still Showing Promise, Advancements
  6. Planetary Annihilation Released For Linux Gamers
  7. Gentoo Starts Work On KDE-Wayland Support
  8. NVIDIA To License Its Kepler GPU Technology
  9. KDE's KWin Made Lots Of Progress In 4.11
  10. Ubuntu Announces Carrier Advisory Group
  11. Qt 5.1 Release Candidate 1 Has Arrived
Latest Forum Talk
  1. VP9 Codec Now Enabled By Default In Chrome
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Mir's GPLv3 License Is Now Raising Concerns
  5. NVIDIA Driver Soon Likely To Support EGL, Mir
  6. NVIDIA Brings Their Linux Driver To ARM
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite