Writing Data Parallel Algorithms on GPUs
summary
Concrete algorithm patterns and working code dominate: examples using the C++ AMP Algorithms Library show array_view lazy copy and const/discard hints that halve transfers, explicit tile_static memory use to load and reduce per-tile, and practical fixes for warp divergence and bank conflicts. It implements transform, several reduce optimizations and an exclusive scan (yes the quirky 136 appears in the slide demos), with measured timings and source on GitHub — watch if needing real code not theory.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:27Talk purpose
- 3:32Algorithm family tree
- 4:39Algorithm basics and GPU mapping
- 6:48C++ AMP primer
- 12:57Optimizing memory movement
- 17:49Reduce algorithm
- 23:09GPU architecture
- 28:11Tile memory and reduction
- 33:17Handling idle threads
- 39:18Memory access patterns
- 41:28Scan algorithm
- 48:15Exclusive scan steps
- 51:37Summary
- 54:30Book and future work
- 1:03:09Performance tuning
related talks
44mStories from a parallel universe
52mAdvanced SIMD Algorithms in Pictures
01h 03mThe Landscape of Parallelism
37mC++ for multi-accelerator, multi-vendor systems
59mParallel Programming in Rust: Techniques for Blazing Speed
01h 06mUtilize your CPU power
01h 05mThe Most Important Optimizations to Apply in Your C++ Programs
01h 00mC++ on GPUs done right?
