While Intel has previously shipped its OpenCL SDK for Linux and Windows, this SDK is closed-source and on Linux was limited to compute support only on the processor rather than any graphics support with Ivy Bridge and newer hardware. Fortunately, Intel has finally managed to put out a first release of Beignet
, an open-source Linux project that supports OpenCL.
Beignet, like many other OpenCL implementations, is based upon LLVM and Clang for its compiler infrastructure. This Intel OpenCL project was first covered on Phoronix last January when the code was initially released
The project at the time had an uncertain future
since Ben Segovia who was its principal developer had left the company. He wrote about it in our forums
and said it offers runtime code for OpenCL as well as the compiler back-end that takes the LLVM IR and is able to output Ivy Bridge ISA (Instruction Set Architecture). Since then, fortunately, Intel China developers have taken over committing to the project.
With Beignet v0.1 that was released on Monday, there is very basic OpenCL 1.0 support. For now this Intel OpenCL open-source project is focusing upon just OpenCL 1.0 support and not specifically support for newer versions of the standard yet and due to hardware limitations will just work with Ivy Bridge processors.
Implemented features for this release include 2D image read/write, partial support for the OpenCL/OpenGL sharing extension, "some" OpenCL 1.0 APIs and built-in functions, various unit test cases. There's also some OpenCL 1.1 support to be found, but it's incomplete.
For more details on Beignet 0.1, see the release announcement
. The code to this project is being hosted on FreeDesktop.org
Beignet isn't part of Mesa or related to what the Nouveau (NVIDIA) and Radeon graphics drivers have been doing to establish OpenCL/GPGPU support on their open-source drivers
via OpenCL support within the Gallium3D driver architecture.
Intel going with their completely original approach to handling open-source OpenCL rather than basing it upon Gallium3D has already drawn some criticism. Red Hat developer David Airlie has written
, "Why does this exist anymore? Seriously this project is duplicating functionality we already have implemented in Mesa/Gallium projects. Its also duplicating code in the Mesa Intel driver I assume. So why not just write a gallium ivybridge compute only driver? that uses the current open source infrastructure. If Intel are insisting on Beignet, I'd rather it was removed from freedesktop.org and maybe moved to 01.org so people understand its an Intel only development project."