SPIR – A Standard Portable IR for OpenCL Kernel Language Organizers: Boaz Ouriel and Guy Benyei, Intel Corporation
Abstract: OpenCL is one of the most ubiquitous programming environments for many GPGPUs and other heterogeneous platforms. SPIR is a new Standard Portable Intermediate Representation based on LLVM IR, which is designed to facilitate efficient distribution of OpenCL kernel programs in device-independent intermediate format, somewhat akin to Java bytecode. A preview of SPIR 1.2 specification is available on Khronos website. In parallel, the latest Intel® SDK for OpenCL* Applications XE supports SPIR as a preview feature for Xeon and Xeon Phi platforms. This tutorial will explain all about SPIR, demonstrate how SPIR can (a) be generated by an Offline Compiler tool, and (b) be consumed using this recently available SDK. These capabilities open the door for other potential languages and programming models to access many heterogeneous platforms in a standard, portable and efficient way.