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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Benchmarking The Intel P-State, CPUfreq Changes
  2. FreeBSD Still Working On Next-Gen Package Manager
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. Logitech Begins Supporting Linux Users
  5. Modern Intel Gallium3D Driver Still Being Toyed With
  6. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  7. GCC 4.8.1 Compiler Due To Be Out Next Week
  8. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  9. Linux's "Ondemand" Governor Is No Longer Fit
  10. Firefox 22 Beta Enables WebRTC Support
  11. OpenSUSE 13.1 Milestone 1 Released
Latest Forum Talk
  1. DRM Moves Ahead With HTML5 Specification
  2. Logitech Begins Supporting Linux Users
  3. OpenSUSE Considers Replacing LXDE With E17
  4. FreeBSD Still Working On Next-Gen Package Manager
  5. Sumo Lounge Emperor
  6. Logitech supports linux!
  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