Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

GPU Programming with Modern C++

ACCU Conference via YouTube

Overview

Explore GPU programming with modern C++ in this comprehensive ACCU 2019 conference talk. Delve into the fundamentals of parallelism, learn to recognize when to use it, and discover common parallel patterns like reduce, map, and scan. Gain insights into utilizing the C++ standard threading library and extending parallelism to heterogeneous devices using the SYCL programming model for GPU implementation. Understand the differences between CPU and GPU architectures, memory optimization techniques, and the evolution of GPU performance. Cover topics such as task vs. data parallelism, latency and bandwidth, Flynn's Taxonomy, memory-bound problems, and the power of computing. Learn about GPU programming languages, how GPUs work, memory regions, multiple work items, wavefronts, and kernel barriers. Presented by Michael Wong, Vice President of Research and Development at Codeplay Software and Chair of the C++ Heterogeneous Programming language SYCL, this talk offers valuable insights for developers looking to harness the power of parallel programming in modern C++.

Syllabus

Introduction
Michaels background
Why Im here
Outline
Recap
Right abstraction
Task vs data parallelism
Latency and bandwidth
DMV example
Flynns Taxonomy
CPU vs GPU
Multicore CPU
Architectures
Memory bound problem
Memory optimization
Pad properly
Data layout
Power of computing
What happened
What happened in 2011
CPU vs GPU performance
GPU explosion
Hardware
GPU programming
Parallelization and concurrency
Heterogeneity
Consumer AI
GPU languages
C executives
How GPUs work
How CPUs work
How GPU work
Memory regions
Multiple work items
Wavefronts
Lockstep
Kernel barriers
Summary
Code
SpinD
ND Range
Sickle
Chronos

Taught by

ACCU Conference

Reviews

Start your review of GPU Programming with Modern C++

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.