OneAPI Computing Aims to Ease Multi-Architecture Computing
BILBAO, SPAIN — At Open Source Europe Summit, the Linux Foundation unveiled the establishment of the Unified Acceleration (UXL) Foundation. The UXL is based on Intel’s open source oneAPI initiative. The result is a cross-industry initiative that champions an open standard accelerator programming model. This model paves the way for developers to create applications that perform seamlessly across various hardware platforms.
How? By implementing oneAPI everywhere. OneAPI, as the name suggests, is all about using universal application programming interfaces (APIs) for parallel application development whenever possible.
In doing this, a developer implements performance-critical code with API library calls. OneAPI defines a set of APIs for the most used data parallel domains, and oneAPI platforms provide library implementations across various accelerators. Where possible, the API is based on established standards like Basic Linear Algebra Subprograms (BLAS).
- SYCL: oneAPI’s core language for programming accelerators and multiprocessors. SYCL allows developers to reuse code across hardware targets (CPUs and accelerators such as GPUs and FPGAs) and tune for a specific architecture.
- OneDPL: A companion to the DPC++ Compiler for programming oneAPI devices with APIs from C++ standard library, Parallel STL, and extensions.
- OneDNN: High-performance implementations of primitives for deep learning frameworks.
- OneCCL: Communication primitives for scaling deep learning frameworks across multiple devices.
- Level Zero: System interface for oneAPI languages and libraries.
- OneDAL: Algorithms for accelerated data science.
- OneTBB: Library for adding thread-based parallelism to complex applications on multiprocessors.
- OneVPL: Algorithms for accelerated video processing.
- OneMKL: High-performance math routines for science, engineering, and financial applications.
- Ray Tracing: A set of advanced ray tracing and high-fidelity rendering and computation routines for use in various 3D graphics uses, including, film and television photorealistic visual effects and animation rendering, scientific visualization, high-performance computing computations, gaming, and more.
UXL comes in by getting both companies and a broad spectrum of architectures, from CPU and GPU to FPGA and accelerators, to back and support oneAPI.
Jim Zemlin, the Linux Foundation‘s executive director, remarked in a statement, “The Unified Acceleration Foundation is a testament to the incredible potential of collaborative efforts and the open source methodology. By amalgamating tech giants and nurturing a unified cross-platform developmental ecosystem, we’re setting the stage for unprecedented advances in data-centric performance and productivity.”
The foundation has garnered impressive support from leading global organizations, such as Arm, Fujitsu, Google Cloud, Imagination Technologies, Intel, Qualcomm Technologies, Inc., and Samsung. These frontrunners are rallying behind the goal of fostering open source cooperation and cultivating a united programming model across diverse architectures.
Rod Burns, Codeplay Software‘s vice president of ecosystem and chair of the UXL Foundation Steering Committee, shared the foundation’s vision in a press release: “We’re striving to carve out the most expansive open ecosystem for accelerated computing. Our foundational contributions are rooted in open standards and governance. Our overarching ambition is to nurture a versatile, multivendor programming platform for all accelerators.”
Intel and oneAPI Specification Editor Robert Cohn drew parallels with the transformative power of open source in the CPU realm. Cohn stated, “Just as Linux and GNU revolutionized the CPU software stack, I’m confident that the Unified Acceleration Foundation will lay the groundwork for the next wave of data and computation-intensive applications.”
Will it? We’ll see. As someone who’s witnessed many a parallel programming project mess, I’m excited by the potential of a broadly supported, universal API for multiple architectures. This really could transform how parallel computing is done and make it far easier to build successful projects than it has been in the past.