Generic Parallel Programming
summary
Describes a concrete effort to make reduction and neighborhood kernels generic across images meshes and particle sims using C++ with OpenMP atomics scale surprisingly well and std::atomic wrapping, Intel TBB style tasking and MPI for distribution; builds a distributed mesh with overlapping halos and a particle prototype that either uses atomics or a blocking domain decomposition outperforms but costs preprocessing strategy; demonstrates oversubscription risk (12 cores can spawn 144 threads), shows prototypes run and highlights composability, associative/commutative requirements and runtime scheduling limits.
AI-written summary · about
chapters (10)
- 0:00Introduction and recap
- 4:37Challenges in parallelism
- 9:43Design space and partitioning
- 16:16Composition and hardware
- 20:53Architectural differences
- 25:43Image processing example
- 29:23Mesh processing example
- 37:55Particle method example
- 47:22Strategies and atomics
- 52:58Conclusions and Q&A
related talks
52mC++ Standard Parallelism
53mIntroduction to C++ AMP (GPGPU Computing)
54mParallel Algorithms Ranges and oneDPL
18m(De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional(…)
59mUsing Template Magic to Automatically Generate Hybrid CPU/GPU-Code
47mMegacore: Megafast, Megacool?
25mExploit Parallelism for AI Workloads with WASM and OpenMP
10mGraph Based Pipeline Parallelism
