Intel Compute Runtime Adds OCLOC Multi-Device Compilation
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.
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.
Add A Comment