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

Think C++

Optimizing software in C++

Optimizing software in C++

Structured programming with C++

Financial Numerical Recipes in C++

Others related eBooks about Data Parallel C++

Java programming

This document is about a Java programming ,a free pdf tutorial for beginners a basic knowledge of object-oriented programming is assumed....

Think Java, 2nd Edition

Think Java is a hands-on introduction to computer science and programming used by many uni..., download free Java tutorial in PDF (326 pages) created by ....

Swift Programming Tutorial

Download free Swift tutorial course in PDF, training file in 60 chapters and 291 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Think Python, Free PDF tutorial

The goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. ...

Learning Android

A complet Android Course in PDF format, this is a free Android ebook created for educational purposes by Stack Overflow documentation....

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

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

Architect Modern Web Applications with ASP.NET Core and Azure

Download free course Architect Modern Web Applications with ASP.NET Core and Azure, pdf file on 113 pages by by Steve Smith....

Evolve the Monolith to Microservices with Java and Node

Download free course Evolve the Monolith to Microservices with Java and Node, pdf file on 132 pages by Sandro De Santis, Luis Florez, Duy V Nguyen, Eduardo Rosa....

Getting started with Hibernate

Download free Hibernate tutorial course in PDF, training file in 14 chapters and 39 pages. Free unaffiliated ebook created from Stack OverFlow contributor....