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

The C++ Hackers Guide

C++ Notes for Professionals

Think C++

Learning C++

C++ Core Guidelines

Others related eBooks about Data Parallel C++

Raspberry Pi Projects Book

Download free course Raspberry Pi Projects Book, pdf file on 204 pages by Wes Archer, David Crookes, PJ Evans, Gareth Halfacree, Rosie Hattersley, Nicola King, Ben Nuttall, Marc Scott, Danny Staple, Mark Vanstone....

Object-oriented Programming in C#

Download free course Object-oriented Programming in C#, pdf file on 485 pages by Kurt Normark....

Elementary Algorithms

This book introduces about elementary algorithms and data structure. It includes side-by-s..., download free Algorithms tutorial in PDF (642 pages) created by Larry LIU Xinyu ....

Ruby Best Practices

Download free course Ruby Best Practices, pdf file on 329 pages by Gregory T. Brown....

How To Code in Python 3

An introduction to computer programming with Python 3. Helps the readers in learning the key concepts of Python and understanding how programs work while also imparting foundational logic that can serve the readers in other domains....

Regression Models for Data Science in R

The ideal reader for this book will be quantitatively literate and has a basic understandi..., download free Data Science in R tutorial in PDF (144 pages) created by Brian Caffo ....

50 Ways to Avoid Find and Fix ASP.NET Performance Issues

Download free course 50 Ways to Avoid Find and Fix ASP.NET Performance Issues, pdf file on 50 pages by Red Gate....

Elementary Algorithms

Download free course Elementary Algorithms, pdf file on 642 pages by Larry LIU Xinyu....

Hibernate Annotations

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

A Practical Introduction to Python Programming

This book is for anyone who wants to understand Python programming. It is degigned as partly a tutorial and partly a reference of Python....