Heterogeneous Computing Programming: oneAPI and Data Parallel C++

The vision does not stop at Intel hardware either — it is open, including both the oneAPI specification, and the Khronos Group’s SYCL specifications upon which DPC++ is built.

The openness means that anyone can build their own implementations of oneAPI to support their solutions and products.

The specifications for oneAPI are labelled pre-1.

0 (and they look that way – so feedback looks likely to be useful for the spec), with Intel encouraging community feedback.

Data Parallel C++ Builds on C++ the Right Way At the heart of the specifications, tools, toolkits, and libraries is the Data Parallel C++ compiler.

Data Parallel C++ will feel very familiar to any C++ programmer, and has all the productivity and performance you would expect with C++.

Data Parallel C++ is full C++, extended for data parallelism by the Khronos SYCL specifications, with some Intel extensions that aim to provide functionality not yet in C++ or SYCL.

Data Parallel C++ is a kernel-based approach to programming, so it will feel familiar to those who know CUDA, OpenCL, or SYCL.

  DPC++ is a compliant SYCL compiler, with extensions.

Like SYCL and OpenCL, DPC++ is not a proprietary solution.

  Intel’s implementation of oneAPI is designed to ensure a seamless journey for developers as they migrate current applications or build new ones to take advantage of different architectures.

It is compatible and interoperable with other standards including Fortran, OpenMP and MPI, so developers don’t lose their existing coding investments.

Build DPC++ Completely from Open Source Get the DPC++ compiler prebuilt with installers or build the DPC++ compiler completely from source, it is your choice.

You’ll want the oneAPI tools and toolkits from Intel which is also the easy way to get the DPC++ compiler as well.

It is also very easy to build from the open source repository (I’ve done it successfully on several Linux and Windows systems by following the instructions at GetStartedWithSYCLCompiler.


All the examples in the training videos, and in the DPC++ book, will compile and work with either the Intel product DPC++ compiler, or the open source compiler built from the GitHub repo — on Linux and Windows.

How to Try it Out: oneAPI Beta is Free, and Easy to Try On Intel’s oneAPI product website for software developers you will find more information on the toolkits and their component tools.

The oneAPI site for the specifications, and the oneAPI community is http://oneapi.


This is a 1-2-3 to learn more (all of this is free – no hidden costs): Download the preprint/preview of Chapters 1-4 of the upcoming DPC++ BookSign-up for DevCloud, or download and install the tools on your own machine(s).

DevCloud offers immediate access to all types of intel hardware where you can test workloads and code without spending any time on installation and configuration.

Watch training videos to get tips how to use DevCloud, build from open source, and learn DPC++ Join in the oneAPI Community, and Leap into the Heterogeneous Future The contributions by Intel in creating oneAPI, and promoting heterogeneous programming, puts us all at least a “step” closer to the future, if not a “leap” into the future.

The goals for oneAPI really are set apart from other efforts we have seen promoted in the past – it really is about enable all devices, not just a GPU, or an FPGA, or an AI chip.

It’s about supporting them all.

Heterogeneous programming is here to stay, and oneAPI offers a path to make it easier for us all.

Refer to https://software.


com/en-us/articles/optimization-notice for more information regarding performance and optimization choices in Intel software products.

© Intel Corporation.

Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries.

Other names and brands may be claimed as the property of others.

.. More details

Leave a Reply