oneAPI

To promote compatibility and enable developer productivity and innovation, the oneAPI specification builds upon industry standards and bring a complete open cross platform developer stack.

We invite radical collaboration from across the ecosystem to create a shared industry spec that gives developers the power and flexibility to create fast, innovative, data-centric solutions.

The best way to contribute to the oneAPI Specification is via Github issue submission. Give Feedback

Spec 1.0 Spec 1.1

Advanced Ray Tracing Provisional Specification is now available for use and open for your input View Spec

oneAPI 1.0

oneAPI 1.0 was released on 2020-9-14 and is available online. See Get oneAPI for directions to obtain oneAPI tools that implement 1.0.

oneAPI 1.1

oneAPI 1.1 is in development now. New features include:

  • oneAPI Deep Neural Network Library (oneDNN): A graph API has been added to oneDNN, which compiles and executes a deep learning computation graph, identifying opportunities for fusing operators and other target-specific optimizations, working closely with industry partners who develop the major frameworks. Read more
  • Advanced ray tracing: Software developers across the industry will have the ability to code for high-fidelity raytraced computations across multiple vendors’ systems and accelerators. The functionality is subdivided into several domains including geometric ray tracing computations, volumetric computation and rendering, image denoising, and scalable rendering and visualization infrastructure. Read more
  • oneAPI Video Processing Library (oneVPL) is a programming interface for video decoding, encoding, and processing to build portable media pipelines on CPU, GPU, and other accelerators. Included in the latest oneVPL release is a preview implementation of Hyper Encode, which provides the ability to split workloads across oneAPI components for media and enabled special encoding mode. Read more
  • Level Zero: Level Zero serves as a foundational layer for supporting oneAPI as it provides a direct-to-metal interface to offload accelerator devices. Level Zero 1.1 provides several new extensions as well as spec clarifications. Read more

​​A provisional draft was published for feedback on 2021-4-7 and can be found here.

Component Releases

Individual components of oneAPI may also release specifications. See Releases for detailed information on all releases.

About the Specification

The specification includes 10 core elements of oneAPI. This includes:

  • DPC++: oneAPI’s core language for programming accelerators and multiprocessors. DPCPP 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 application

Each element is developed by a core team with feedback from the community. This is described in more detail in our governance doc. The sources for the document are in GitHub and we also publish a roadmap. If you want to be involved in the development of the specification, submit a GitHub issue or pull request.

oneAPI Technical Advisory Board

The oneAPI Technical Advisory Boards are an invitation-only forum comprised of industry experts that help guide the oneAPI parallel programming ecosystem and give input to the oneAPI Specification. The general community is invited to join the conversation by reviewing the oneAPI Specification, as well as the notes/slides in the GitHub repo, and then post comments or questions as Github issues. Meeting notes and presentations can be found at the following links:
Meeting notes:

×

Learn DPC++ for Free

Learn More