Running OpenCL With Intel UHD Graphics On Coffeelake Under Ubuntu Linux

Written by Michael Larabel in Intel on 6 October 2017 at 09:36 AM EDT. 17 Comments
After running some basic OpenCL/Vulkan UHD Graphics tests yesterday using the brand new Core i7 8700K "Coffee Lake" processor, I next ventured into OpenCL computing with the UHD Graphics using Intel's open-source Beignet CL implementation.

Here's my brief experience with Beignet OpenCL on the Core i7 8700K under Ubuntu 17.10 with Linux 4.13...

I was surprised that the stable Beignet 1.3.1 release as packaged in Ubuntu 17.10 had no Coffee Lake support, nor did building from the latest Git code. Intel's Beignet developers have not added Coffeelake PCI IDs / support to this open-source GPU OpenCL implementation yet.

Not seeing Coffeelake support in Beignet was quite the surprise, similar to the Coffeelake graphics support on Linux still being hidden behind the i915.alpha_support switch at the moment, with these CPUs now shipping. But with the "UHD Graphics 630" of Coffeelake effectively being the same as the HD Graphics 630 of Kabylake, which is supported by Beignet, I decided to tackle it myself.

I added the 0x3e92 graphics PCI device ID to the list of Kabylake GT2 IDs within cl_device_data.h of Beignet. When rebuilding today's Beignet Git (against LLVM 5.0), sure enough now I got Beignet working with Coffeelake:

The i7-8700K seemed to be working out fine using just the Kabylake code paths of Beignet and through my testing it seems to be working out fine. So I'm fairly surprised these CFL PCI IDs weren't already added to Beignet for open-source OpenCL support. The current Beignet code exposes OpenCL 2.0.
Intel Coffeelake OpenCL Linux

I proceeded to run a few Beignet OpenCL benchmarks on the 8700K without issue:
Intel Coffeelake OpenCL Linux

Intel Coffeelake OpenCL Linux

Intel Coffeelake OpenCL Linux

Intel Coffeelake OpenCL Linux

Intel Coffeelake OpenCL Linux

Intel Coffeelake OpenCL Linux

If you want to see how your own Linux OpenCL-enabled system would compare, simply install the Phoronix Test Suite and run phoronix-test-suite benchmark 1710069-TY-CFLCL433692. More details in the result file.

So you can enjoy Beignet with your coffee, just for now you need to manually patch Beignet.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week