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. 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. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  2. New NVIDIA Linux Driver Supports The GeForce GTX 780
  3. Chrome 28 To Offer More Speed Improvements
  4. Digia Announces "Boot To Qt" Project
  5. X.Org Libraries Hit By Round Of Security Issues
  6. Wayland's Weston Gets Output Scaling Support
  7. Raspberry Pi Gets New Wayland Weston Renderer
  8. Debian GNU/Hurd 2013 Release Brings New Packages
  9. Intel Ultrabook Performance Is Faster With Mesa 9.2
  10. Hot Relocation HDD To SSD Support For Btrfs
  11. Phoronix Test Suite 4.6.0 "Utsira" Released
Latest Forum Talk
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Chrome 27 Loads Web Pages Faster
  4. Radeon 7770 Can't reclock crash kernel
  5. Digia Announces "Boot To Qt" Project
  6. Xserver 1.14 support will arrive with Catalyst...
  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