Intel Compute Runtime Adds OCLOC Multi-Device Compilation

Written by Michael Larabel in Intel on 21 February 2020 at 07:25 AM EST. Add A Comment
INTEL
Version 20.07.15711 of the Intel Compute Runtime was released this morning.

The Intel Compute Runtime 20.07.15711 is what principally provides their modern OpenCL implementation for Broadwell graphics hardware and newer with current at OpenCL 2.1 for all generations from Broadwell through the yet-to-be-released Gen12 Tiger Lake.

With today's open-source code update the Intel Graphics Compiler (IGC) has been updated against its latest snapshot and the runtime now supports the Intel OpenCL subgroups extensions (cl_intel_subgroup_local_block_io, cl_intel_subgroups_char and cl_intel_subgroups_long).

The interesting element though of this latest routine version update is adding multi-device compilation to OCLOC. While other areas of the Intel open-source Linux graphics driver stack have been preparing for multi-GPU support for when Intel Xe discrete graphics cards begin to ship with either having multiple dGPUs or combining dGPU(s) with iGPUs on the same system, this multi-device compilation isn't about that specifically.

This Intel Compute Runtime update today is about allowing the OpenCL Offline Compiler (OCLOC) to support compiling OpenCL/SPIR-V code for multiple device/target generations. This offline compiler now supports targeting multiple generations of Intel Gen graphics rather than a single generation.

Multiple Gen targets are then combined into a single fat binary archive with the different device binaries. So passing the flag -device gen9-gen12 for example would generate code for all those relevant targets if compiling your OpenCL or SPIR-V code offline in advance. There is also -device * now supported if wanting to compile all hardware targets supported by the Intel compiler. The relevant code is then loaded from the fat binary at run-time depending upon the present hardware.

With Gen11 graphics becoming more common now and Gen12 set to be very exciting with Tiger Lake and their discrete offerings, this offline multi-device compilation support will become more important in finally moving past the long-standing and very common Gen9 graphics era.

This compute runtime update is available from GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com 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 OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week