Latest 20.41.18123 Intel NEO OpenCL Driver Claims "Production" OpenCL 3.0 Quality On All Intel CPUs Going Back To Broadwell

From LinuxReviews
Jump to navigationJump to search
Intel-logo-2020.jpg

Intel made their Neo Graphics Compute-Runtime OpenCL claim to have OpenCL 3.0 support on all chips going back to Broadwell in the v20.40.18075. The latest v20.41.18123 goes one step further by having that same claim in the release-notes. There's also a new clinfo warning regarding the supposed OpenCL 3.0 support.

written by 林慧 (Wai Lin) 2020-10-16 - last edited 2020-10-17. © CC BY

Intel Compute-Runtime 20.41.18123 clpeak.jpgclpeak on a Intel Broadwell machine using Intel Compute Runtime v20.41.18123. The numbers aren't exactly impressive.. as expected on an old Intel iGPU.

Intel's release note story regarding their latest Neo Compute-Runtime library is:

"Important changes

  • Enabled OpenCL 3.0 by default on all devices
  • Added new DG1 device
  • Enabled cl_khr_subgroup_extensions
  • Updated IGC to 1.0.5186
  • Updated gmmlib to 20.3.1"
Intel Compute-Runtime 20.41.18123 release notes
Intel-DG1.jpg
Intel DG1 prototype

Filip at Intel "enabled" OpenCL 3.0 on all NEO-supproted Intel iGPUs (all Broadwell and newer) with a code-commit titled "Enable OpenCL 3.0 by default on all devices" on October 7th. That commit was a part of the Intel Graphics Compute Runtime v20.40.18075 released two days later. That version claimed to have OpenCL 3.0 in the ICD loader profile even though it in reality did not.

Intel did not update the supposedly supported OpenCL version in the release-notes for v20.40.18075. That's changed with today's release of Intel Graphics Compute Runtime 20.41.18123. Intel's story is that this version of the compute driver has "Production" level support for OpenCL 3.0 on all the Intel graphics chips the NEO compute driver supports.

A close-up inspection of clinfo on a Broadwell powered Intel machine reveals that Intel's story doesn't hold much water:

ICD loader properties
ICD loader Name        OpenCL ICD Loader
ICD loader Vendor      OCL Icd free software
ICD loader Version     2.2.13
ICD loader Profile     OpenCL 3.0
NOTE:   your OpenCL library declares to support OpenCL 3.0,
        but it seems to support up to OpenCL 2.2 only.
NOTE:   your OpenCL library only supports OpenCL 2.2,
        but some installed platforms support OpenCL 3.0.
        Programs using 3.0 features may crash
        or behave unexpectedly

That last little warning is new. The last version said "your OpenCL library declares to support OpenCL 3.0, but it seems to support up to OpenCL 2.2 only" but there was no mention of a possibility that it could "crash or behave unexpectedly". Intel is right about that claim.

Starting LuxMark with today's Neo Graphics Compute-Runtime v20.41.18123 makes it immediately crash and burn, just like it did with v20.40.18075.

Intel NEO LuxMark.jpg
GNU Debugger Story regarding the latest Graphics Compute-Runtime's ability to run LuxMark.

It's possible to start LuxMark with --mode=PAUSE to stop it from foolishly starting a benchmark immediately upon launch. That makes it possible to configure it and disable the "optimizations" that either make it crash or render an incorrect image on everything but Nvidia GPUs. Disabling those optimizations helps the AMD ROCm driver, but it doesn't help Intel's NEO OpenCL driver - LuxMark crashes with it no matter how you try to run it's benchmarks.

clpeak does work fine with the Intel NEO OpenCL driver. It's a really good benchmark if you enjoy looking at lists of meaningless numbers in a terminal. There's also one actually practically useful application for this driver: LibreOffice 7.

LibreOffice With OpenCL enabled.jpg
LibreOffice 7 with OpenCL support enabled.

LibreOffice requires a OpenCL stack capable of OpenCL 2.0, at minimum, to enable OpenCL support in Calc (in Tools ▸ Preferences ▸ LibreOffice ▸ OpenCL). The Mesa Clover OpenCL library GNU/Linux distributions ship and enable by default is limited to OpenCl 1.1. Installing the latest and greatest Intel Graphics Compute-Runtime will let you enable OpenCL in LibreOffice Calc for that warm fuzzy feeling you get from knowing you're using the technology. There does not appear to be any practical difference between OpenCL support being enabled or disabled beyond a small notice saying Calc: CL in the About box.

The latest Intel NEO OpenCL driver can be acquired from github.com/intel/compute-runtime/releases/tag/20.41.18123. There's just .deb packages for Ubuntu, you will have to convert them with alien if you want to use them on another distribution (and add /usr/local/lib/ to your ld.so.conf since Intel's packages put libraries there for some odd reason).

5.00
(one vote)


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.