Intel's Compute Runtime Adds oneAPI Level Zero Support
Intel's open-source Compute Runtime for OpenCL and now oneAPI support on Linux has added oneAPI Level Zero support.
For what started out as the Intel "OpenCL NEO" stack a few years ago has evolved into being a key piece of Intel's oneAPI ambitions. Hitting the Compute Runtime source tree on Friday was the oneAPI Level Zero support.
The oneAPI Level Zero API is Intel's direct-to-metal interfaces for offload accelerators, including GPUs. The documentation explains, "It is a programming interface that can be published at a cadence that better matches Intel hardware releases and can be tailored to any device needs. It can be adapted to support broader set of languages features, such as function pointers, virtual functions, unified memory, and I/O capabilities."
As implied by the name, this is the lowest level of the oneAPI interface and allows direct control over the GPU/FPGA/accelerator memory allocations, IPC, system management interface, async scheduling, and other primitives. Level Zero was inspired in part by the likes of OpenCL and Vulkan while Intel's higher-level oneAPI components like Data Parallel C++ and Threaded Building Blocks are to be implemented over the Level Zero interface.
For what started out as the Intel "OpenCL NEO" stack a few years ago has evolved into being a key piece of Intel's oneAPI ambitions. Hitting the Compute Runtime source tree on Friday was the oneAPI Level Zero support.
The oneAPI Level Zero API is Intel's direct-to-metal interfaces for offload accelerators, including GPUs. The documentation explains, "It is a programming interface that can be published at a cadence that better matches Intel hardware releases and can be tailored to any device needs. It can be adapted to support broader set of languages features, such as function pointers, virtual functions, unified memory, and I/O capabilities."
As implied by the name, this is the lowest level of the oneAPI interface and allows direct control over the GPU/FPGA/accelerator memory allocations, IPC, system management interface, async scheduling, and other primitives. Level Zero was inspired in part by the likes of OpenCL and Vulkan while Intel's higher-level oneAPI components like Data Parallel C++ and Threaded Building Blocks are to be implemented over the Level Zero interface.
4 Comments