Data parallelism has arguably become the most important form of parallel programming. But according to parallel computing expert James Reinders, language support for it has been tucked away in SIMD directives like OpenMP* or kernels like OpenCL™ or CUDA*.
Result? According to James, exploiting data parallelism is “too much in the weeds” and gets worse when you seek to be portable.
Which is why he’s excited about Data Parallel C++ (DPC++), a programming language and model that offers developers real advantages, including bringing heterogeneous programming to C++, code reuse from CPUs to GPUs to FPGAs, and cross-platform parallelism performance.
James sat down with Tech.Decoded to discuss the developer benefits of DPC++, including:
- The programming challenges it addresses
- Its key components and the standards it’s based on
- How DPC++ compares to other software development inflection points in history
- A peek behind the curtain at his new DPC++-focused book
Watch. And then …
Download the FULL Book
Download James’ book, Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems Using C++ and SYCL in its entirety. (Additionally, each of its 19 chapters can be downloaded as a standalone PDF.) Get this free, in-depth reference that covers everything you need to get started with DPC++.
- Visit the Intel oneAPI website to learn about this initiative, including downloading the essential Intel® oneAPI Base Toolkit which includes the DPC++ compiler and libraries.
- Try your code in the Intel® DevCloud—Sign up to develop, test, and run your solution in this free development sandbox with access to the latest Intel® hardware and oneAPI software. No downloads. No configuration steps. No installations.