Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux

Posted by Michael Larabel on January 10, 2013

For the open-source Radeon and Nouveau graphics drivers on Linux, OpenCL/GPGPU support has been implemented via the "Clover" OpenCL state tracker with the Radeon/Nouveau drivers built atop the Gallium3D driver architecture. While Intel's latest hardware supports OpenCL with its graphics core, their open-source Linux driver has lacked any support, but that is changing.

With Intel sticking to their Mesa DRI "classic" driver rather than migrating to the Gallium3D driver architecture, they haven't been able to tap the OpenCL state tracker and thus are stuck to coming up with their own implementation. Intel has put out their own closed-source OpenCL SDK that works on Windows and Linux but on the Linux side has been limited to using just the CPU and not integrated with their GPU driver.

Fortunately, fairly quietly over the past several months there's been a new Intel OpenCL Linux effort: Beignet. The open-source Beignet is an OpenCL/GPGPU implementation targeting Ivy Bridge hardware and newer.
Beignet is an open source implementaion of the OpenCL specification - a generic compute oriented API. This code base contains the code to run OpenCL programs on Intel GPUs which bsically defines and implements the OpenCL host functions required to initialize the device, create the command queues, the kernels and the programs and run them on the GPU.
Beignet is an original project and not tied to Gallium3D/Mesa. Fortunately, it's not entirely from scratch, but does leverage the LLVM compiler infrastructure. LLVM is used by the Gallium3D compute support as well as within the proprietary graphics driver from NVIDIA.

Aside from the LLVM dependency, Beignet also relies upon several X11 components and the DRM library for communicating with Intel's kernel DRM driver. The hardware coverage right now has been specifically tested against the Ivy Bridge "GT2" graphics core.

This current OpenCL implementation is not fully complete but still TODO is support for samplers/textures, events, Enqueue\Buffer, full support for images, and state tracking.

Beignet is mostly the work of Ben Segovia out of Intel's Open-Source Technology Center. The code to Beignet is hosted on FreeDesktop.org Git and has seen quite a lot of activity, but unfortunately not any public activity since mid-November. The project's README can be viewed through CGit.

Hopefully Beignet is able to mature and take-off -- along with the Radeon Gallium3D OpenCL support -- so we can finally see OpenCL used more on Linux and become a common component to the Linux desktop.

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. KDE's KWin Made Lots Of Progress In 4.11
  2. Ubuntu Announces Carrier Advisory Group
  3. Qt 5.1 Release Candidate 1 Has Arrived
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Subversion 1.8 Presents New Features
  6. LLVM 3.3 Officially Released
  7. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  8. Intel GPU Driver Tries To Rip Out FBDEV Support
  9. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  10. VP9 Codec Now Enabled By Default In Chrome
  11. openSUSE 13.1 M2 Plays On PulseAudio 4.0
Latest Forum Talk
  1. The Wayland Situation: Facts About X vs. Wayland
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Ubuntu Announces Carrier Advisory Group
  5. Intel Haswell HD Graphics 4600 vs. AMD Radeon...
  6. Planetary Annihilation Plans To Come To 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