Costless Software Abstractions for Parallel Architectures
summary
Claims a C++ generative/meta programming approach yields near zero overhead, using expression templates and Boost/Proto to generate skeletons bound to runtimes (OpenMP, TBB, SIMD, CUDA/MAGMA). Builds the NT2 numeric DSL, adds futures-based pipelining and loop fusion, and prototypes GPU and distributed backends. Benchmarks on Sigma‑Delta motion detection, Black‑Scholes and LU show competitive results (reference C ~16–18 cycles/point for the motion kernel, achieved similar performance and multix speedups up to about 7× on SIMD/backends), so the system works end to end.
AI-written summary · about
chapters (13)
- 0:00Start
- 8:56Mapreduce
- 10:48Generative Programming
- 16:13Advantages
- 25:15Matlab Syntax
- 33:33Synchronous Pipelines
- 36:50Examples
- 37:48Sigma Delta Algorithm
- 41:26Openmp
- 44:27Apply Loop Fusion Operation
- 58:44Prototype for a Single Sole Gpu Support
- 1:08:19Julian Language
- 1:13:02Compilers
related talks
37mC++ for multi-accelerator, multi-vendor systems
56mboost.tmp: your DSL for Metaprogramming
01h 03mThe Landscape of Parallelism
01h 10mThe Three Little Dots and the Big Bad Lambdas
01h 00mJust-in-Time Compilation
31mGPU Performance Portability Using Standard C++ with SYCL
01h 08mAn implementer's view of Boost.SIMD
55mC++ 20 Innovations: High-Performance Cross-Platform Architecture in C++
