DPC++ shorthand for Data Parallel C++, it’s the new direct programming language of oneAPI—an Intel-led initiative to unify and simplify application development across diverse computing architectures.
DPC++ is based on familiar (and industry-standard) C++, incorporates SYCL* specification 1.2.1 from The Khronos Group*, and includes language extensions developed using an open community process. Purposely designed as an open, cross-industry alternative to single-architecture, proprietary languages, DPC++ enables developers to more easily port their code across CPUs, GPUs, and FPGAs, and also tune performance for a specific accelerator.
The oneAPI Specification
The oneAPI specification extends existing developer programming models to enable a diverse set of hardware through language, a set of library APIs, and a low level hardware interface to support cross-architecture programming. To promote compatibility and enable developer productivity and innovation, the oneAPI specification builds upon industry standards and provides an open, cross-platform developer stack.
At the core of the oneAPI specification is DPC++, an open, cross-architecture language built upon the ISO C++ and Khronos SYCL standards. DPC++ extends these standards and provides explicit parallel constructs and offload interfaces to support a broad range of computing architectures and processors, including CPUs and accelerator architectures.
The set of APIs spans several domains that benefit from acceleration, including an interface for deep learning; general libraries for linear algebra math, video, and media processing; and others.
The Hardware Abstraction Layer
The low-level hardware interface defines a set of capabilities and services that a hardware accelerator needs to interface with the broad set of languages in support of consumer to Deep/Machine Learning and HPC class solutions.