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

Structured programming with C++

Financial Numerical Recipes in C++

C++ Hacker's Guide

Open Data Structures (in C++)

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

Others related eBooks about Data Parallel C++

XcalableMP PGAS Programming Language

Download free course XcalableMP PGAS Programming Language, pdf file on 265 pages by Mitsuhisa Sato....

Spring MVC Framework

Download a free training document material about the Framework Spring MVC ,this pdf tutorial is a complet reference guide to Spring Framework features under 904 pages designated to all student level....

Python Notes for Professionals

This book goes beyond the basics to teach beginner- and intermediate-level Python programmers the little-known tools and constructs that build concise, maintainable code. Design better architecture and write easy-to-understand code using highly adoptable techniques that result in more robust and eff...

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

Deep Learning with Python

This book introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this book builds your understanding through intuitive explanations and practical examples. You'll explore challenging concept...

Ruby Notes for Professionals

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

I Love Ruby

Download free course I Love Ruby, pdf file on 314 pages by Karthikeyan A K....

Python Data Science Handbook

Download free course Python Data Science Handbook, pdf file on 548 pages by Jake VanderPlas....

PureBasic - A Beginner's Guide To Computer Programming

This book provides a quick introduction to the PureBasic programming language. PureBasic's popularity has increased significantly in the past few years, being used for many purposes such as rapid software prototyping, creation of commercial applications and games, Internet CGI applications, while ...

Programming Computer Vision with Python

Download free course Programming Computer Vision with Python, pdf file on 300 pages by Jan Erik Solem....