Automatic Compiler-Based Data Structure Generation
K. F. D. Rietveld, H. A. G. Wijshoff

TL;DR
This paper presents a compiler framework that automatically generates optimized data structures for sparse matrix computations, reducing manual effort and outperforming existing libraries.
Contribution
It introduces a novel compiler-based approach to automatically generate data structures, moving beyond control flow optimization to data organization and access optimization.
Findings
Automatically generated sparse data structures outperform existing libraries.
The framework reduces manual data structure design effort.
Experimental results demonstrate improved performance in sparse matrix computations.
Abstract
Optimizing compilers are mainly equipped to optimize control flow. The optimization of data structures is left to the programmer and it is the programmer's responsibility to design the data structures to suit the target hardware. Very specific data structures are required to exploit certain hardware features, such as cache line size, address alignment, vector width, and memory hierarchy specifics. Because optimizing compilers do not target data structures, these features are explicitly encoded in program specifications. This leads to convoluted programs that obscure the essence of the computation from the compiler, in turn causing compiler analysis techniques to break down and hampering compiler optimizations from being applied. To solve this problem, we propose to move towards the specification of programs without explicitly specifying the data structure. The compiler will…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Ferroelectric and Negative Capacitance Devices
