oneAPI is an
open standard
An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
, adopted by Intel, for a unified
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
(API) intended to be used across different computing
accelerator (
coprocessor) architectures, including
GPUs,
AI accelerator
A neural processing unit (NPU), also known as AI accelerator or deep learning processor, is a class of specialized hardware accelerator or computer system designed to accelerate artificial intelligence (AI) and machine learning applications, inc ...
s and
field-programmable gate arrays. It is intended to eliminate the need for developers to maintain separate code bases, multiple programming languages, tools, and workflows for each architecture.
oneAPI competes with other GPU computing stacks:
CUDA
In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
by
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
and
ROCm by
AMD
Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
.
Specification
The oneAPI specification extends existing developer programming models to enable multiple hardware architectures through a data-parallel language, a set of library APIs, and a low-level hardware interface to support cross-architecture programming. It builds upon industry standards and provides an open, cross-platform developer stack.
Data Parallel C++
DPC++ is a programming language implementation of oneAPI, built upon the
ISO C++ and
Khronos Group
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
SYCL standards. DPC++ is an implementation of SYCL with extensions that are proposed for inclusion in future revisions of the SYCL standard, including: unified shared memory, group algorithms, and sub-groups.
Libraries
The set of APIs
spans several domains, including libraries for linear algebra, deep learning, machine learning, video processing, and others.
The
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
of parts of the above libraries is available on GitHub.
The oneAPI documentation also lists the "Level Zero" API defining the low-level direct-to-metal interfaces and a set of
ray tracing components with its own APIs.
Hardware abstraction layer
oneAPI Level Zero, the low-level hardware interface, defines a set of capabilities and services that a hardware accelerator needs to interface with compiler runtimes and other developer tools.
Implementations
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
has released oneAPI production toolkits that implement the specification and add CUDA code migration, analysis, and debug tools. These include the
Intel oneAPI DPC++/C++ Compiler,
Intel Fortran Compiler,
Intel VTune Profiler and multiple performance libraries.
Codeplay has released an open-source layer to allow oneAPI and
SYCL/DPC++ to run atop
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
GPUs via
CUDA
In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
.
University of Heidelberg
Heidelberg University, officially the Ruprecht Karl University of Heidelberg (; ), is a public university, public research university in Heidelberg, Baden-Württemberg, Germany. Founded in 1386 on instruction of Pope Urban VI, Heidelberg is List ...
has developed a SYCL/DPC++ implementation for both AMD and Nvidia GPUs.
Huawei
Huawei Technologies Co., Ltd. ("Huawei" sometimes stylized as "HUAWEI"; ; zh, c=华为, p= ) is a Chinese multinational corporationtechnology company in Longgang, Shenzhen, Longgang, Shenzhen, Guangdong. Its main product lines include teleco ...
released a DPC++ compiler for their Ascend AI Chipset
Fujitsu has created an open-source
ARM version of the oneAPI Deep Neural Network Library (oneDNN) for their
Fugaku CPU.
Unified Acceleration Foundation (UXL) and the future for oneAPI
Unified Acceleration Foundation (UXL) is a new technology consortium that are working on the continuation of the OneAPI initiative, with the goal to create a new open standard accelerator software ecosystem, related open standards and specification projects through Working Groups and Special Interest Groups (SIGs). The goal will compete with Nvidia's CUDA. The main companies behind it are Intel, Google, ARM, Qualcomm, Samsung, Imagination, and VMware.
References
Sources
* .
External links
*
*
Bringing Nvidia GPU support to SYCL developers* {{cite book , display-authors= 1 , first1= James , last1= Reinders , first2= Ben , last2= Ashbaugh , first3= James , last3= Brodman , first4= Michael , last4= Kinsner , first5= John , last5= Pennycook , first6= Xinmin , last6= Tian , url= https://link.springer.com/book/10.1007/978-1-4842-5574-2 , title= Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL , publisher= Springer , isbn= 978-1-4842-5574-2 , doi= 10.1007/978-1-4842-5574-2 , series= Open Access Book , year= 2021 , s2cid= 226231933
oneAPI for NVIDIA GPUs 2025.1.0oneAPI for AMD GPUs 2025.1.0
Application programming interfaces
Cross-platform software
Intel software