“High-Radix Concurrent C++”
summary
Demonstrates a C++ radix-26 trie using atomic counts and atomic pointers with a test‑and‑set insertion that yields a starvation-free algorithm, ports to CUDA C++ using a freestanding simt::std::atomic layer and cudaMallocManaged, and launches 100000 concurrent threads on Turing/Volta hardware. Kernel building time is about 650 µs (PCIe transfers dominate) and the GPU run gives roughly 5–10x speedups versus a 40-thread Xeon; the live demo completes successfully.
AI-written summary · about
chapters (8)
- 0:00Introduction and trie design
- 11:32Trie demo execution
- 13:02Building a concurrent trie
- 21:06CUDA crash course
- 33:41Porting to CUDA C++
- 37:54GPU performance analysis
- 40:51C++20 concurrency features
- 44:12Q&A session
related talks
47mConcurrent Programming in C++
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
01h 08mBetter Code: Concurrency
17mArctic: A Practical Lock-Free Adaptive Radix Tree
01h 00mConcurrency in C++20: A Deep Dive
01h 00mConcurrency Improvements in C++20: A Deep Dive
59mAn Introduction to Multithreading in C++20
55m“A lock-free concurrency toolkit for deferred reclamation and optimistic speculation"
