To Pack or Not to Pack: A Generalized Packing Analysis and Transformation
Packing is an essential loop optimization for handcrafting a high-performance General Matrix Multiplication (GEMM).
Packing copies a non-contiguous block of data to a contiguous block to reduce the number of TLB entries required to access it, avoiding expensive TLB misses.
When copying data, packing can rearrange elements of the block to decrease the stride between consecutive accesses, improving spatial locality.
Until now the use of packing has been limited to handcrafted GEMM implementations and to auto-tuning techniques.
Existing loop optimizers, such as Polly and Pluto, either only apply packing to GEMM computations (Polly), or not at all (Pluto).
This work proposes GPAT, a generalized packing analysis and code transformation that applies packing, when beneficial, to a generic input loop nest.
GPAT is implemented in the Affine dialect of MLIR and evaluated on Polybench/C.
GPAT applies packing to benchmarks beyond GEMM and obtains significant speedup compared to current loop optimizers that do not apply packing.
Mon 27 FebDisplayed time zone: Eastern Time (US & Canada) change
10:00 - 12:00 | Session 1 -- It's all about loops!Main Conference at Montreal 1-2-3 Chair(s): Rodrigo C. O. Rocha University of Edinburgh | ||
10:00 26mTalk | Code Generation for In-Place Stencils Main Conference Mohamed Essadki ONERA, Bertrand Michel ONERA, Bruno Maugars ONERA, Oleksandr Zinenko Google, Nicolas Vasilache Google, Albert Cohen Google DOI | ||
10:26 26mTalk | To Pack or Not to Pack: A Generalized Packing Analysis and Transformation Main Conference Caio Salvador Rohwedder University of Alberta, Nathan Henderson University of Alberta, João P. L. De Carvalho University of Alberta, Yufei Chen University of Alberta, Jose Nelson Amaral University of Alberta DOI | ||
10:52 26mTalk | Code Synthesis for Sparse Tensor Format Conversion and Optimization Main Conference Tobi Popoola Boise State University, Tuowen Zhao University of Utah, Aaron St. George Boise State University, Kalyan Bhetwal Boise State University, Michelle Strout University of Arizona, Mary Hall University of Utah, Catherine R. M. Olschanowsky Boise State University DOI | ||
11:18 26mTalk | Looplets: A Language for Structured Coiteration Main Conference Willow Ahrens Massachusetts Institute of Technology, Daniel Donenfeld Massachusetts Institute of Technology, Fredrik Kjolstad Stanford University, Saman Amarasinghe Massachusetts Institute of Technology DOI |