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 new 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 recently 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 DPC++ “Mini-Book”
Download the first 4 chapters of James’ new book, Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems Using C++ and SYCL, 118 pages that cover everything you need to get started with DPC++, including an introduction, the key concepts behind data parallel programming, and how to express it using the new programming language and industrial-strength compiler.
- Visit the Intel oneAPI Beta 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.