"Designing (New) C++ Hardware”
summary
Claims Volta is built to run C++: memory now uses cudaMallocManaged migrates on demand plus a Linux HMM patch and NVLink + HMM makes memory taste like memory so static/dynamic storage can be unified; Pascal adds coherency and Volta defines a formal consistency model for GPU scopes. Execution adds three agent classes (concurrent, parallel, weakly parallel) and implements starvation‑free vector‑efficient concurrency on a scalar-threaded machine with ~163,840 threads and 16GB, exposing footprint and thread_local/stack limitations and unfinished heterogeneity support (NVCC + device annotations).
AI-written summary · about
chapters (15)
- 0:00Introduction and background
- 1:41Portability and C++ design
- 4:39Hardware and software evolution
- 7:20Transistor abundance and design
- 10:25System topology and abstraction
- 14:40Designing Volta for C++
- 16:11The memory vertical
- 23:21Consistency and memory models
- 28:00Footprint and stack management
- 31:51Execution vertical and Volta
- 34:15Execution agents in C++
- 38:45Starvation-free algorithms
- 41:43Heterogeneity and conformence
- 43:56Summary of the scalar platform
- 47:27Questions and answers
related talks
01h 00mBringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler
01h 02mMemory and Compilers
38mDynamic Data Structures and Memory Management on GPUs
22mOld School cache coherence-a snooping system for a multicore processor based on CVA6
22mPreview: Hardware and Offloads
18mGPU Program Support on RISC-V GPU
22mvNV-Heap: An Ownership-Based Virtually Non-volatile Heap for Embedded Systems
21mBuilding a Global CORE-V Cores Ecosystem
