Automatic Task-based Code Generation for High Performance DSEL
summary
Describes a C++ library that turns Matlab-like DSEL expressions into task graphs by combining expression-template DSEL metaprogramming with skeletons + futures code generation, slicing trees at compile time into asynchronous tasks at run time. Shows concrete outcomes: LU (tile) factorization scales to 48 cores and outperforms MKL after 24 cores while matching PLASMA, elementwise Black‑Scholes needs a grain ~4,000 elements per future for efficiency, and the prototype runs and benchmarks successfully with these tradeoffs.
AI-written summary · about
chapters (12)
- 0:00Start
- 1:16The Expressiveness versus Efficiency War
- 5:04Generative Probing
- 8:05Matlab Driven Workflow
- 11:41Domain-Specific Embedded Languages
- 12:28The Difference between Dsl Very Specific Languages and D Sel Domain Specific Entity Languages
- 14:33Expression Templates
- 31:26Future Probing Model
- 41:23Benchmarks
- 42:32Manual Loop Fusions
- 49:35Conclusion
- 1:00:51Structured Memory
related talks
23mPattern-Based Optimization (...)
54mFast C++ by using SIMD Types with Generic Lambdas and Filters
01h 04mDesign for Performance
16mStellar: A DSL to Build and Explore Sparse Accelerators
01h 03mCompute More in Less Time Using C++ Simd Wrapper Libraries
28mCommunication Avoiding Algorithms for Linear Algebra and Beyond
08mLightning Talk: Achieving SOTA GEMM Performance: A CuTeDSL Backend for PyTorch Induc...
37mC++ as an Optimizing Assembler - a Performance Talk
