AMD R600 LLVM Back-End Called For Inclusion

Posted by Michael Larabel on March 26, 2012

Tom Stellard of AMD has called upon the LLVM developers to include the R600 GPU back-end into the LLVM project, which is the code for generating compute and graphics shaders inside the LLVM compiler infrastructure for targeting Radeon HD 2000 through HD 6000 series graphics processors.

For months Stellard has been working on an LLVM back-end for the Radeon Gallium3D driver as they worked to bring up OpenCL support over their open-source graphics driver. They now have Radeon Gallium3D OpenCL working and are working towards mainlining the respective components.

This back-end does leverage the AMD IL code generator for LLVM that was open-sourced last December. This R600 LLVM back-end for R600 through Northern Islands GPUs is now in a state for including into upstream LLVM, Tom Stellard believes. "The r600 backend is being developed as a part of the Open Source compute stack in Mesa, which uses the Gallium API. It uses large portions of the AMDIL backend which was open-sourced last December and you'll notice the TargetMachine for this backend (AMDGPUTargetMachine) is a sub-class of AMDILTargetMachine."

In Tom's email this morning to LLVM developers he also mentions:

- They are currently working on an LLVM back-end for their GCN-based Radeon HD 7000 "Southern Islands" GPUs and are also looking to get that into LLVM as soon as possible when the code has been cleared for release.

- All of AMD's code for this is under a BSD license, but the AMD IL code has a clause concerning US export laws for where this can be utilized. AMD hopes this won't cause a problem for integration into the LLVM tree.

- Tom is wondering about any other steps to land this R600 back-end in LLVM or what other changes are required. "My top priority is to get the backend into the LLVM tree, so when you provide feedback if you could be clear about what changes are needed to get the backend into the tree versus what changes are just general improvements, I would appreciate it."

This email announcing the R600 LLVM back-end for inclusion was just sent minutes ago, so there's not yet any responses from the upstream LLVM developers. Hopefully they will be willing to take this R600 back-end soon since LLVM 3.1 is set for release in May.

In terms of the rest of the OpenCL Gallium3D stack, thanks to the work by AMD as well as those within the Nouveau driver camp, the open-source OpenGL support is on approach for landing in mainline. The first of the Gallium3D OpenCL infrastructure patches were sent into the mailing list last week. The Clover (OpenCL) state tracker also needs to land. But what's not yet ready for merging at the moment is the actual R600g and Nouveau driver implementations of the Gallium3D compute infrastructure. The driver-specific portions of the GPGPU computing code is still considered immature at this point -- years after the OpenCL 1.0 specification was ratified.

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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Digia Announces "Boot To Qt" Project
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Wayland's Weston Gets Output Scaling Support
  4. Raspberry Pi Gets New Wayland Weston Renderer
  5. Debian GNU/Hurd 2013 Release Brings New Packages
  6. Intel Ultrabook Performance Is Faster With Mesa 9.2
  7. Hot Relocation HDD To SSD Support For Btrfs
  8. Phoronix Test Suite 4.6.0 "Utsira" Released
  9. New Intel X.Org Driver Supports All Of Haswell
  10. SQLite Now Faster With Memory Mapped I/O
  11. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
Latest Forum Talk
  1. X.Org Libraries Hit By Round Of Security Issues
  2. Humble Indie Bundle Finally Sells Out
  3. Raspberry Pi Gets New Wayland Weston Renderer
  4. Debian GNU/Hurd 2013 Release Brings New Packages
  5. AMD Catalyst 13.4 Final
  6. Wayland's Weston Gets Output Scaling Support
  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