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

Others c++ Tutorials

C++ Hacker's Guide

Optimizing software in C++

C++ Programming Language

Structured programming with C++

How To Think Like A Computer Scientist: C++ Version

Others related eBooks about Data Parallel C++

JavaScript from ES5 to ESNext

Download free course JavaScript from ES5 to ESNext, pdf file on 84 pages by Flavio Copes....

Cookbook for R: Best R Programming TIPs

The goal of this cookbook is to provide solutions to common tasks and problems in analyzing data. Each recipe tackles a specific problem with a solution you can apply to your own project, and includes a discussion of how and why the recipe works....

Hibernate Annotations

This pdf tutorial present a reference guide for Hibernate , a training document course on 49 pages for beginners....

Vue.js Succinctly

Download free course Vue.js Succinctly, pdf file on 101 pages by Ed Freitas....

Ruby on Rails Notes for Professionals

Download free course Ruby on Rails Notes for Professionals, pdf file on 230 pages by Stack Overflow Community....

Spring MVC by example

Download free pdf training course in pdf about Spring MVC under 315 pages intended to beginners....

Android Application Development for the Intel Platform

Download free course Android Application Development for the Intel Platform, pdf file on 508 pages by by Ryan Cohen, Tao Wang....

C++ Hacker's Guide

Download free course C++ Hacker's Guide, pdf file on 231 pages by Steve Oualine....

2D Game Development: From Zero to Hero

Download free course 2D Game Development: From Zero to Hero, pdf file on 262 pages by Self-publishing....

Introduction to Visual Studio and C#

In this PDF Tutorial we will use Visual Studio and C#. C# is the programming language, while Visual Studio is the development environment....