Data Parallel C++
Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
Author(s)
Reinders, James
Ashbaugh, Ben
Brodman, James
Kinsner, Michael
Pennycook, John
Tian, Xinmin
Language
EnglishAbstract
Learn how to accelerate C++ programs using data parallelism. 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. 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 begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group 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. Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems. What You'll Learn Accelerate C++ programs using data-parallel programming Target multiple device types (e.g. CPU, GPU, FPGA) Use SYCL and SYCL compilers Connect with computing’s heterogeneous future via Intel’s oneAPI initiative Who This Book Is For Those new data-parallel programming and computer programmers interested in data-parallel programming using C++.
Keywords
Programming Languages, Compilers, Interpreters; Hardware and Maker; Maker; heterogenous; FPGA programming; GPU programming; Parallel programming; Data parallelism; SYCL; Intel One API; Programming & scripting languages: general; Compilers & interpreters; Computer hardwareDOI
10.1007/978-1-4842-5574-2Publisher
Springer NaturePublisher website
https://www.springernature.com/gp/products/booksPublication date and place
2021Imprint
ApressClassification
Programming and scripting languages: general
Computer hardware