Paying for Lunch: C++ in the ManyCore Age
summary
Panel lays out concrete progress and gaps: a parallel algorithms TS with prototype GitHub implementations, a move from std::async toward executors and clearer continuation semantics, stackless resumable functions as a lightweight alternative, and growing tool support like a thread sanitizer and vendor debuggers. Surprising numbers and realities recur — single‑core code often uses ~1% of silicon, locality (L2) kills performance, GPU/host memory movement dominates cost — so expect allocators for device memory, prototypes to test now, and more work on heterogeneity and debugging.
AI-written summary · about
chapters (25)
- 0:00Introduction to panel
- 3:11Why parallelism matters
- 6:23Parallelism vs concurrency
- 8:31Hardware diversity models
- 11:53Async I/O challenges
- 13:17Memory locality affinity
- 16:06Schedulers role
- 17:50Big.LITTLE management
- 20:14Lightweight threads models
- 23:02Future of std::async
- 26:14Debugging parallel code
- 29:46Feedback in DSP
- 34:00C++17 parallel algorithms
- 36:56Auto parallelization limits
- 41:57Side effects in parallelism
- 44:03Top challenges today
- 47:56GPU memory management
- 51:27Sandboxing support
- 53:56Resumable functions future
- 57:08Distributed serialization
- 1:00:00Lock annotations standard
- 1:01:27Teaching parallelism
- 1:04:36Abstraction vs performance
- 1:08:39C++11 threading future
- 1:12:37Key takeaways
related talks
59mC++ on its way to exascale and beyond
01h 03mThe Landscape of Parallelism
01h 03mUnlocking the value of C++20
37mC++ for multi-accelerator, multi-vendor systems
57m[filtered] Asynchronous C++ Programming
01h 16mC++ Today: The beast is back
55mC++ 20 Innovations: High-Performance Cross-Platform Architecture in C++
01h 30mC++ in Constrained Environments
