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: 61
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

Think C++

Pro TBB: C++ Parallel Programming with Threading Building Blocks

C++ Hacker's Guide

Essential C++

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

Others related eBooks about Data Parallel C++

ASP.NET Core 3.1 Succinctly

Download free course ASP.NET Core 3.1 Succinctly, pdf file on 130 pages by by Simone Chiaretta, Ugo Lattanzi....

Using Perl 6

This book is primarily for people who want to learn Perl 6. It teaches the basics from a Perl 6 perspective, touching on variable interpolation, datastructure use, object construction, threads, closures, symbol tables, and other core features. It then introduces continuations, coroutines, binding (o...

Android developement for beginners

Download Android Tutorial in PDF ,free training document for beginner's Android Development ,file under 26 pages by (RNOC)...

Android Programming Tutorials

This book shows you what you can do with Android, through a series of 40 individual exercises. It gives you hands-on instruction in how to build sophisticated Android applications, using many of the technologies outlined in CommonsWare's other Android books. ...

Objective-C tutorial for professionals

Download free Objective-C tutorial course in PDF, training file in 51 chapters and 129 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

A Python Book: Beginning Python, Advanced Python, and Python Exercises

Download ebook Python tutorial, Python exercices, free PDF course by Dave Kuhlman....

Classic Computer Science Problems in Python

This book deepens your knowledge of problem-solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and disc...

Python tutorial for professionals

Download free Python tutorial course in PDF, training file in 201 chapters and 816 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Java for Small Teams

This book is an attempt to capture what good Java code looks like and the practices that help produce it. This document is intended for consumption by anyone involved with writing server side Java code. From developers writing Java for the first time through to seasoned technical leads serving multi...

Akka.NET Succinctly

Download free course Akka.NET Succinctly, pdf file on 121 pages by by Zoran Maksimovic....