Data Parallel C++ Data Parallel C++

Data Parallel C+‪+‬

Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL

James Reinders und andere

Beschreibung des Verlags

Learn how to accelerate C++ programs using data parallelism.

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 open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.

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

GENRE
Computer und Internet
ERSCHIENEN
2020
2. November
SPRACHE
EN
Englisch
UMFANG
574
Seiten
VERLAG
Apress
ANBIETERINFO
Springer Science & Business Media LLC
GRÖSSE
87,3
 MB
The Elements of Computing Systems, second edition The Elements of Computing Systems, second edition
2021
Rust in Action Rust in Action
2021
Programming with 64-Bit ARM Assembly Language Programming with 64-Bit ARM Assembly Language
2020
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization
2021
How Computers Really Work How Computers Really Work
2020
Rust for Rustaceans Rust for Rustaceans
2021
Pro TBB Pro TBB
2019
Data Parallel C++ Data Parallel C++
2023
Multithreading for Visual Effects Multithreading for Visual Effects
2014
Intel Threading Building Blocks Intel Threading Building Blocks
2007
Conceptive C Conceptive C
2011
Security in Computer and Information Sciences Security in Computer and Information Sciences
2018
Embedded System Design Embedded System Design
2021
Probability in Electrical Engineering and Computer Science Probability in Electrical Engineering and Computer Science
2021
Lessons on development of 64-bit C/C++ applications Lessons on development of 64-bit C/C++ applications
2012
Programming for Computations - MATLAB/Octave Programming for Computations - MATLAB/Octave
2016