Declarative Data Collections for Portable Parallelism
summary
Declarative collection skeletons expose eight property groups (semantic, interface, hybrid) and use C++ template metaprogramming to let programmers declare element type plus properties; a multi-stage defender maps declarations to concrete implementations and selects concurrent variants across three target platforms. Library integrates algorithmic skeletons (map/reduce/filter, divide-and-conquer, stencil), supports implicit and explicit parallelism, shows small overhead and measurable speedups on benchmarks (including Rodinia-era kernels).
AI-written summary · about
chapters (6)
- 0:00Introduction
- 1:02List implementations
- 3:41Collection skeletons
- 6:47Parallelization shielding
- 10:38Experimental results
- 15:08Questions
related talks
01h 07mDesign Patterns in Modern C++
56m“High Performance Code 201: Hybrid Data Structures"
57mInvited Talk: Bridging Safety and Performance
59mStrongly Typed Containers
17mFour Languages for Portability
01h 01mEasy to Use, Hard to Misuse: Declarative Style in C++
01h 16mPolymorphism, Cohesion, and Coupling in C++
01h 02mProcedural Programming: It Never Went Away
