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

Running OpenCL On The GPU With Gallium3D

Mesa

Published on 23 January 2013 04:00 AM EST
Written by Michael Larabel in Mesa
22 Comments

With all of the recent improvements going into Mesa/Gallium3D, along with some work advancements to the AMD GPU LLVM back-end, it's slowly becoming a suitable time for enthusiasts wishing to experiment with OpenCL on the open-source Linux graphics stack through Gallium3D and the "Clover" state tracker.

OpenCL support in Gallium3D is still far from complete and not yet comparable to the proprietary OpenCL/GPGPU offerings bundled within the proprietary AMD and NVIDIA Linux graphics drivers. In reality, it will probably be at least another year before open-source OpenCL is in good shape for the Linux desktop. At this point, there's just some simple OpenCL demos working for select graphics processors on Nouveau and Radeon.

The overview of the status and setup/installation instructions can be found on the Gallium Compute Wiki page. (Though it may take a few times to get the FreeDesktop.org Wiki to load due to errors, the FDo/Xorg server infrastructure continues to suffer badly from problems; 503 Service Unavailable, among other issues.)

For the Nouveau and Radeon drivers, most of the OpenCL/GPGPU-related items for Gallium3D remain marked as "TODO" with the only "MOSTLY" completed items being the Gallium3D hardware interface for general purpose GPU computing. There's also ambitions for CPU-based OpenCL support using the LLVMpipe driver, but there the support is very primitive.

The hardware with the best open-source OpenCL support right now is the "R800" / Evergreen series. The Radeon HD 5000 "Evergreen" GPUs is "DONE" when it comes to the non-Gallium3D test code, executes LLVM-IR compute shaders, and supports the global address space. Mostly working for the AMD HD 5000 series GPUs with this Gallium3D OpenCL code is having figured out the appropriate hardware interface, executing binary compute shaders, handling GPU buffers, and accurate arithmetics.

For the AMD Evergreen generation, it's a work-in-progress still in supporting the constant and private address spaces and then OpenCL 1.0/1.1 compliance. Items not even touched yet are performance profiling, the local address space, local/global sync, local/global atomics, 2D/3D image reading/writing, and OpenGL interoperability. In monitoring this situation for years, I'd be very rather surprised if there is satisfactory OpenCL Gallium3D support for end-users this calendar year.

The AMD Radeon HD 6000 "Northern Islands" graphics cards are also in similar standing to the Radeon HD 5000 graphics hardware.

Playing with the experimental OpenCL support over Radeon Gallium3D currently involves building LLVM with the experimental AMD R600 GPU back-end from Tom Stellard's Git repository (until LLVM 3.3 is released later this year with the AMD GPU back-end merged), building Clang 3.2 from the upstream source, building libclc - the OpenCL C Library, and building Mesa from Git with the --enable-opencl switch to tap this experimental feature. The Wiki states there are some (simple) OpenCL examples working with Clover and R600g while also there are some OpenCL regression tests beginning to appear in Piglit.

See the Gallium Compute page for all of the latest details. There's also an R600 Compute TODO list for developers interested and capable of helping out.

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Trying Out Radeon R9 290 Graphics On Open-Source
  2. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  3. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  4. Red Hat Releases Its RHEL 7 Release Candidate
  5. New Features Coming To Xubuntu 14.04 LTS
  6. NVIDIA Officially Releases CUDA 6
  7. Google Releases An AutoFDO Converter For Perf In LLVM
  8. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  9. Star Citizen Will Be Coming To Linux
  10. Ubuntu 14.10 Convergence To Focus On Replacing Core Apps
  11. The Results Of Optimizing Radeon's VRAM Behavior
  12. Kernel Developers Discuss Improving Kernel Configurations
Latest Forum Discussions
  1. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  2. The GNOME Foundation Is Running Short On Money
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel