Data Parallel C++

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


Data Parallel C++
Data Parallel C++
CC BY

Book Details

Authors James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
Publisher Apress
Published 2021
Edition 1st
Paperback 565 pages
Language English
ISBN-13 9781484255735, 9781484255742
ISBN-10 1484255739, 1484255747
License Creative Commons Attribution

Book Description

Learn how to accelerate C++ programs using data parallelism. This open 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 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.


This book is available under a Creative Commons Attribution license (CC BY), which means that you are free to copy, distribute, and modify it, as long as you give appropriate credit to the original author.

If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.

Download and Read Links

Share this Book

[localhost]# find . -name "*Similar_Books*"


Data Parallel C++, 2nd Edition

C / C++

Learn how to accelerate C++ programs using data parallelism and SYCL. This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key top

XcalableMP PGAS Programming Language

XcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Address Space (PGAS) model for distributed memory parallel systems. This open book presents XcalableMP language from its programming model and basic concept to the experience and performance of applications described in XcalableMP.�

Pro TBB

C / C++

This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present

Python for Everybody

Python

Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet. Python is an easy to use and easy to learn programming language that is freely availa

A Byte of Python

Python

Python is one of those rare languages which can claim to be both simple and powerful. You will find yourself pleasantly surprised to see how easy it is to concentrate on the solution to the problem rather than the syntax and structure of the language you are programming in. A Byte of Python is a free book on programming using the Python language. I

Digital Video Concepts, Methods, and Metrics

Digital Video Concepts, Methods, and Metrics: Quality, Compression, Performance, and Power Trade-off Analysis is a concise reference for professionals in a wide range of applications and vocations. It focuses on giving the reader mastery over the concepts, methods and metrics of digital video coding, so that readers have sufficient understanding to