Data Parallel C++
eBook - ePub

Data Parallel C++

Programming Accelerated Systems Using C++ and SYCL

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Data Parallel C++

Programming Accelerated Systems Using C++ and SYCL

About this book

"This book, now in is second edition, is the premier resource to learn SYCL 2020 and is the ONLY book you need to become part of this community." Erik Lindahl, GROMACS and Stockholm University


Learn how to accelerate C++ programs using data parallelism and SYCL.

This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics.

SYCL enables access to parallel resources in modern accelerated heterogeneous systems. Now, a single C++ application can use any combination of devices–including GPUs, CPUs, FPGAs, and ASICs–that are suitable to the problems at hand.

This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.

All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers.


What You Will Learn

  • Accelerate C++ programs using data-parallel programming
  • Use SYCL and C++ compilers that support SYCL
  • Write portable code for accelerators that is vendor and device agnostic
  • Optimize code to improve performance for specific accelerators
  • Be poised to benefit as new accelerators appear from many vendors

Who This Book Is For

New data-parallel programming and computer programmers interested in data-parallel programming using C++


This is an open access book.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Data Parallel C++ by James Reinders,Ben Ashbaugh,James Brodman,Michael Kinsner,John Pennycook,Xinmin Tian in PDF and/or ePUB format, as well as other popular books in Computer Science & Compilers. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Apress
Year
2023
Print ISBN
9781484296905
eBook ISBN
9781484296912

Table of contents

  1. Cover
  2. Front Matter
  3. 1. Introduction
  4. 2. Where Code Executes
  5. 3. Data Management
  6. 4. Expressing Parallelism
  7. 5. Error Handling
  8. 6. Unified Shared Memory
  9. 7. Buffers
  10. 8. Scheduling Kernels and Data Movement
  11. 9. Communication and Synchronization
  12. 10. Defining Kernels
  13. 11. Vectors and Math Arrays
  14. 12. Device Information and Kernel Specialization
  15. 13. Practical Tips
  16. 14. Common Parallel Patterns
  17. 15. Programming for GPUs
  18. 16. Programming for CPUs
  19. 17. Programming for FPGAs
  20. 18. Libraries
  21. 19. Memory Model and Atomics
  22. 20. Backend Interoperability
  23. 21. Migrating CUDA Code
  24. Back Matter