Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices - including GPUs, CPUs, FPGAs and AI ASICs - that are suitable to the problems at hand.
This book teaches data-parallel programming using C++ and the SYCL standard from the Khronos Group and walks through everything needed to use SYCL for programming heterogeneous systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.
You will learn:
- How to accelerate C++ programs using data-parallel programming;
- How to target multiple device types (e.g. CPU, GPU, FPGA);
- How to use SYCL and SYCL compilers;
- How to connect with computing's heterogeneous future via Intel's oneAPI initiative.
Table of contents
- Introduction
- Where Code Executes
- Data Management
- Expressing Parallelism
- Error Handling
- Unified Shared Memory
- Buffers
- Scheduling Kernels and Data Movement
- Communication and Synchronization
- Defining Kernels
- Vectors
- Device Information
- Practical Tips
- Common Parallel Patterns
- Programming for GPUs
- Programming for CPUs
- Programming for FPGAs
- Libraries
- Memory Model and Atomics
- Future Direction of DPC++
Pages : | 565 |
Size : | 15.8 MB |
Downloads: | 82 |
Created: | 2022-02-02 |
License: | CC BY |
Author(s): | James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian |
Warning: Trying to access array offset on false in /home/tutovnfz/public_html/amp/article-amp.php on line 263
Others related eBooks about Data Parallel C++
This book does not attempt to cover all the facets of the C++ programming language. Experi..., download free C++ Programming tutorial in PDF (766 pages) created by .
This PDF course explains the features, technical details and syntaxes of the C++ programming language. To be a proficient programmer, you need to master two things: the syntax of the programming language, and the core libraries (i.e., API) associated with the language.
Download free document in PDF about C++ language, exercices and solutions for beginners and intermediate level students.
This book is an introduction to the Boost C++ Libraries. The Boost C++ Libraries complement the C++ standard and add many practical tools that can be of use to any C++ developer and in any C++ project. Because the Boost C++ Libraries are based on the C++ standard, they are implemented using state-
This Creative Commons-licensed textbook written by Norwich University students and faculty aims to provide an introduction to the C++ programming language. The PDF and original typesetting materials are available if you are interested in having a free digital copy of your own or if you wish to contr