Tiles, Bricks, and Layouts: How Aggregate Data Abstractions Aid in Optimizing Data(…)
summary
BrickLib packs work and data into 8x8x8 bricks stored contiguously to avoid local packing and reduce off-node reorganization, driving stencil runs close to roofline and outperforming HPGMG on A100, MI250X and Intel PVC; merged-execution on bricks memoizes partial convolution results to get extra DL speedups. LEGO provides a standalone hierarchical layout algebra that plugs into Triton/CUDA, reproduces Triton performance, lets one binary kernel implement four transposed matmuls by only changing layout, and supports user-defined mappings at runtime.
AI-written summary · about
chapters (9)
- 0:00Tile programming abstractions
- 9:19BrickLib project overview
- 15:50BrickLib on stencil computations
- 21:09Bricks for deep learning
- 24:21Lego layout description
- 31:19Lego performance results
- 33:13Future of computer architecture
- 41:33Call for compiler research
- 44:49Q&A
related talks
19mDecoupling Data Layouts from Bounding Volume Hierarchies
22mTileLoom: Automatic Dataflow Planning for Tile-Based Languages on Spatial Dataflow Accel…
30mData-Parallel Flattening by Expansion
01h 03mScaling up machine learning without tears (and what do programming languages ha...
28mGenerating State-of-the-Art GEMMs for Heterogeneous Hardware with...
18mCompiling Strassen-like Matrix Multiplication Algorithms to Fast CUDA Kernels
28mThe Future Is Tiled: Using CuTile & TileIR To Write Portable, High-performance GPU...
14mCompressed and Parallelized Structured Tensor Algebra
