Faster Code Through Parallelism on CPUs and GPUs
summary
Survey of parallel models compares C++ threads, OpenMP, OpenACC, CUDA, Kokkos and C++17 parallel algorithms with concrete kernels: brute‑force traveling‑salesman (6.2B routes) and Jacobi heat solve. Sequential TSP takes 22m40s; CPU threads give ~30–43× speedup; OpenACC GPU hits 1.25s, CUDA 1.1s, and C++17 transform_reduce on a GPU prototype reaches 1.0s (~1355×). Jacobi: sequential 4.5min, OpenMP ~11×, OpenACC GPU ~51×. Notes performance costs of explicit copies, reductions, and Kokkos tuning across backends.
AI-written summary · about
chapters (10)
- 0:00Introduction to parallelism
- 1:18Parallelism in C++ overview
- 3:20Programming models survey
- 16:35First code example setup
- 17:43Traveling salesman problem
- 21:50Traveling salesman results
- 30:56Jacobi heat transfer example
- 34:50Jacobi results and analysis
- 43:00Conclusions and thanks
- 45:08Q&A session
related talks
01h 33mGPU programming with modern C++
57mC++ Standard Parallelism
58mC++ Standard Parallelism
01h 02m“Parallelism in Modern C++"
57mC++17 Parallel Algorithms
01h 02mInside Visual C++' Parallel Algorithms
01h 10mC++17 ParallelSTL: A Standardization Experience Report for CPU and GPU on SYCL
35mAlgorithmic and microarchitecture optimizations of C++ applications
