Share this on social media…

What is the oneAPI Construction Kit?

As part of the AERO Project, Codeplay is contributing development on the oneAPI Construction Kit, an open-source, standards-based framework for bringing open ecosystems to new accelerators. This allows hardware vendors to bring the SYCL programming model and oneAPI libraries to their hardware for heterogeneous performance. In the context of AERO, this will enable SYCL and OpenCL on the Rhea1 processor from SiPearl, part of the European Processor Initiative (EPI).

The oneAPI Construction Kit was open-sourced in 2023, with a reference implementation included for RISC-V processors. Our CEO, Andrew Richards, gave a short demonstration that shows how the oneAPI Construction Kit offloads compute-intensive code to new accelerators and the below diagram illustrates the role of the oneAPI Construction Kit.

In November 2024, the oneAPI Construction Kit joined the Unified Acceleration (UXL) Foundation to encourage further collaboration with partners across the industry. The UXL Foundation has the mission of building a multi-vendor, multi-architecture software ecosystem for all accelerators, which aligns closely with our vision for the oneAPI Construction Kit. At a recent DevSummit hosted by the UXL Foundation, we delivered this in-depth presentation introducing the oneAPI Construction Kit.

How will the oneAPI Construction Kit Benefit AERO?

Fundamentally, the oneAPI Construction Kit (OCK) benefits AERO by enabling AI, HPC and other software to be accelerated on the AERO platform, which is an Arm Aarch64 system.

But how does it work?

The oneAPI Construction Kit provides an OpenCL driver for the AERO platform. By initially only targeting the AERO CPU (Rhea1 from SiPearl) this driver could be delivered very quickly, enabling full OpenCL support very early in the project. This enabled software like TornadoVM to be accelerated via OpenCL on the AERO CPU. Later in the project the OpenCL support provided by  the oneAPI Construction Kit is expected to be extended to more accelerators (e.g. GPUs, AI accelerators) that may be added to the AERO platform, for example RISC-V -based processors.  

By enabling OpenCL, the AERO platform can now also run SYCL applications out of the box with the SYCL runtime executing on top of the OpenCL driver provided by the oneAPI Construction Kit. This enables existing SYCL compilers/runtimes such as DPC++ or AdaptiveCPP to target the AERO platform right now. This in turn enables AERO to take advantage of the large open-source oneAPI ecosystems, enabling the AERO platform to accelerate current AI, HPC and other software.

 The oneAPI Construction Kit also enables the NativeCPU SYCL device in DPC++, and SYCL applications can run on that device on the AERO platform. It executes SYCL kernels directly on the CPU and uses  the oneAPI Construction Kit as a library to provide key functionally for efficient code generation and parallel execution. This will enable the DPC++ compiler to directly take advantage of  the oneAPI Construction Kit’s whole function vectorizer and other features.  It also provides LLVM passes to deal with barriers and work item loop construction, and APIs (e.g. the mux API) that are used to implement SYCL builtins.

Finally,  the oneAPI Construction Kit will provide publicly accessible CI on its github running the OpenCL and SYCL conformance test suites and DPC++ tests to document the current status of OpenCL and SYCL support on Aarch64 systems, like AERO.  

Additional Resources

https://github.com/uxlfoundation/oneapi-construction-kit

https://developer.codeplay.com/products/oneapi/construction-kit/home

https://www.axelera.ai/blog/using-one-api-construction-kit-to-enable-open-standards-programming-for-the-metis-aipu

Acknowledgements

Colin Davidson, Principal SE, Codeplay Software

Harald van Dijk, Staff SE, Codeplay Software

Share this on social media…