1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

AMD R600 LLVM Back-End Called For Inclusion

AMD

Published on 26 March 2012 01:10 PM EDT
Written by Michael Larabel in AMD
75 Comments

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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. Opera Browser Puts Out Linux Updates For The Holidays
  2. GNOME Shell 3.15.3 Adds Support For High-Contrast Themes
  3. Linux 3.19: ThinkPad Muting Redone, New Dell Backlight Support, Acer Is Banging
  4. KVM Drops Support For IA64 While Adding Various x86 Improvements
  5. GCC 4.8.4 Officially Released
  6. FSF's High Priority Project List Now Has A Committee
  7. Details On Using OpenACC & GPUs With GCC
  8. Ubuntu 15.04 Alpha 1 For Its Various Flavors
  9. Git 2.2.1 Released To Fix Critical Security Issue
  10. WTFTW: A Tiling Window Manager Written In Rust
Latest Forum Discussions
  1. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  2. Debian init discussion in Phoenix Wright format
  3. FPS capped on Linux (AMD fglrx drivers)
  4. Are there an app using HSA ?
  5. XLennart: A Game For Systemd Haters With Nothing Better To Do
  6. Bench specific mount point
  7. Tool for measuring FPS in games
  8. Need some hand holding with upgrading xserver