Skip to Main Content
Specification Background

Specification

Specification Elements

OneAPI logo

Accelerated building blocks

The oneAPI specification includes six core elements for creating parallel applications. Each element is developed by a core team with feedback from the UXL community. Explore the details of each element here and join a related working group to help us make progress.

oneAPI Math Kernel Library

oneMath is an open source implementation of the oneMath specification. It can work with multiple devices using multiple libraries (backends) underneath. The oneMath project was previously referred to as oneMKL Interfaces. oneMath is governed by the UXL Foundation and is an implementation of the oneAPI specification.

oneAPI Threading Building Blocks

oneTBB is a flexible C++ library that simplifies adding parallelism to complex applications, even if you are not a threading expert. The library lets you easily write parallel programs that take full advantage of the multicore performance. Such programs are portable, composable, and have future-proof scalability. oneTBB provides functions, interfaces, and classes to parallelize and scale your code. All you have to do is use the templates. oneTBB is governed by the UXL Foundation and is an implementation of the oneAPI specification.

oneAPI Data Analytics Library

oneAPI Data Analytics Library (oneDAL) is a C++ and DPC++ library (powering the Extension for Scikit-learn in Python) that implements accelerated machine learning routines for tabular data (e.g., linear regression, K-means clustering, random forests) for CPUs, GPUs, and multinode distributed setups. Acceleration on CPUs is achieved by leveraging SIMD instructions and exploiting cache structures of modern hardware, while GPU acceleration leverages the SYCL framework and the oneMKL library. OneDAL is governed by the UXL Foundation and is an implementation of the oneAPI specification.

oneAPI Collective Communications Library

oneAPI Collective Communications Library (oneCCL) provides an efficient implementation of communication patterns used in deep learning. It is integrated into the Horovod distributed training framework and PyTorch machine learning framework. oneCCL is governed by the UXL Foundation and is an implementation of the oneAPI specification.

oneAPI Deep Neural Network Library

oneAPI Deep Neural Network Library (oneDNN) is an open source cross-platform performance library of basic building blocks for deep learning applications. It is intended for deep learning applications and framework developers interested in improving application performance on CPUs and GPUs. oneDNN is governed by the UXL Foundation and is an implementation of the oneAPI specification.

oneAPI Data Parallel C++ Library

oneDPL works with the Intel® oneAPI DPC++/C++ Compiler to provide high-productivity APIs to developers, which can minimize Data Parallel C++ (DPC++) programming efforts across devices for high performance parallel applications.