OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1698 Discussions

OpenCL version for Ubuntu 18.04



The latest version of OpenCL available on doesn't support Ubuntu 18.04.

When can we expect a supported version?



0 Kudos
3 Replies

Hi AshishV,

Thanks for the interest.

When you say 'OpenCL available' what do you mean?

  • Do you mean Intel® SDK for OpenCL Applications 2019 for Linux* OS?
  • Do you mean OpenCL™ implementations available for Intel® Processors... like Intel® Graphics Compute Runtime for OpenCL™ Driver... or Intel® CPU Runtime for OpenCL™ Applications?
  • Do you mean an omission about the OpenCL standard with respect to Ubuntu 18.04? (Unlikely, and I'm not sure if/how this would make sense... but I'm asking out of completeness).

The 2019 SDK and Intel implementations for OpenCL programs are currently validated on Ubuntu 16.04. Ubuntu 18.04 is not a validated OS distribution and is not currently supported. I can't share any expectation timeline for a transition to Ubuntu 18.04. However, in a Linux* OS developer environment, we're happy to take in reports and discussion on limitations of newer distributions. My goal in monitoring forums is to understand user gaps and tradeoffs for similar types of concerns to advocate to the dev teams. If developers try components on Ubuntu 18.04 and observe issues, I encourage them to add them to the forum.

In practice, for many distributions we expect a good deal of forward compatibility... but in some cases some distributions have ABI changes which will cause programs to break. Such an example occurred with CentOS/RHEL 6 to 7 transition where glibc expectations had changed.

For the authoritative references on supported and validated platforms:



0 Kudos

Dear Michael,

Thank you for your response.

As you seem knowledgeable with openCL implementation and its correspondence to ubuntu versions, may be you could give a hand sorting out a particular need with satisfying OpenCL dependency for installing the packages: cltorch and clnn ?

I am trying to implement neural style with OpenCL at my intel+nvidia GPU workstation.

At teh reference page for clnn I can see a ' permanent redirect' to , and that makes even worse, because I need a direction to implement it somehow and haven't had experience with it . May be you have an idea how to start implementing it?




0 Kudos

Hi AndreyV,

Good to see the interest in heterogeneous compute. Style transfer is a super cool effect.

While we can't support non-Intel hardware or software products, we do want solutions based on our implementations to be robust and functional.

Generalized, there are two steps to this kind of setup:

1) Ensure enabling runtimes are available on the system.

For example install Intel® CPU Runtime for OpenCL™ Applications and Intel® Graphics Compute Runtime for OpenCL™ Driver for systems compatible with those two runtimes. Check the install with:

  • a program like clinfo
  • the helloworld program I ported for Linux* OS on the getting started page for the SDK/OpenCL™ developer tools
  • the GUI interrogator from the Eclipse* plugin that comes with the SDK/OpenCL™ developer tools


2) An OpenCL-based off the shelf library must leverage some mechanism to perform device picking.

Within the project repository or documentation I recommend looking for

a) documentation about device and platform picking... as there might be some library level control.

b) sans documentation, look in the source code for OpenCL device interrogation calls.

A robust off the shelf library will have a mechanism to choose the device, however it's also possible the library could pick a default device... or perhaps the first GPU style device. If you make it to step 2 look for the platform and device interrogation routines clGetPlatformInfo(...), clGetPlatformIds(...) , clGetDeviceInfo(...), clGetDeviceIds(...), clCreateContext(...), and clCreateContextFromType(...) in the source tree. Feeding these calls must be some logic to choose the device. This would ideally lead to observing a control mechanism to tell the off the shelf library to pick your preferred device.

Any libraries on top of the off the shelf library should have some similar control down the runtime stack. A functional library 

Sidebar: This post should be on another thread because it's a different topic.

Good Luck,



0 Kudos