Intel’s newest contribution to the upstream LLVM compiler stack is XeVM as their Multi-Level Intermediate Representation “MLIR” dialect catering to modern Intel graphics processors.
The MLIR intermediate representation is important for more optimizations, being able to represent deep learning graphs by the likes of TensorFlow, and more with its ability to support domain-specific compilers and better handle heterogeneous compute hardware compared to alternative IRs. MLIR is becoming very important within the industry and is also being worked on by AMD as part of their unified AI software stack.
Intel has now upstreamed XeVM into the mainline LLVM codebase with this being their dialect and models catering to Intel GPU hardware features.The XeVM dialect documentation page sums it up as:
“The XeVM dialect that extends LLVM dialect and models Intel GPU’s hardware features.
The XeVM dialect is extension to the LLVM dialect that models hardware features of Intel GPUs. The dialect is designed to work with the Xe architecture for Intel GPUs, supporting advanced operations like 2D block loads, stores, prefetch and matrix multiply-add (MMA) operations.”
This pull request landing in LLVM introduces the XeVM target and serialization support as well as the necessary integration tests that are using the SYCL runtime.
This follows Intel’s recent Intel’s SYCL Runtime “libsycl” upstreaming to LLVM, among other open-source compiler contributions for helping accelerate their GPU compute initiatives.