Data Parallel C++



Download free course Data Parallel C++, pdf file on 565 pages by James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian.
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.

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
File type : PDF
Downloads: 84
Created: 2022-02-02
License: CC BY
Author(s): James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
Data Parallel C++

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others c++ Tutorials

Optimizing software in C++

Pointers - C++ course

Learning C++

The Rook's Guide to C++

C++ Hacker's Guide

Others related eBooks about Data Parallel C++

Algorithmic Problem Solving with Python

This book uses Python to introduce folks to programming and algorithmic thinking. It is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. ...

Entity Framework tutorial for professionals

Download free Entity Framework tutorial course in PDF, training file in 23 chapters and 94 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

C++ Programming Language

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....

Learning C++

Download free course Learning C++, pdf file on 897 pages by Stack Overflow Community....

PC Assembly Language

The purpose of this book is to give the reader a better understanding of how computers really work at a lower level than in programming languages like Pascal. By gaining a deeper understanding of how computers work, the reader can often be much more productive developing software in higher level lan...

React JS tutorial

Download free React JS tutorial course in PDF, training file in 31 chapters and 110 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Network Programming with Go

Dive into key topics in network architecture and Go, such as data serialization, application level protocols, character sets and encodings. This book covers network architecture and gives an overview of the Go language as a primer, covering the latest Go release....

Modeling and Simulation in Python

This book is an introduction to physical modeling using a computational approach. It is organized in three parts:...

2D Game Development: From Zero to Hero

This is a small project that aims to gather some knowledge about game development and make..., download free Game Development tutorial in PDF (260 pages) created by Penaz ....

RESTful Web Services

With this tutorial you will learn how to build a Web Services with REST protocol ,a free training document material under 148 pages by John Cowan....