Programmatic Control of a Compiler for Generating High-performance Spatial Hardware
arXiv:1711.07606
Abstract
This methodology paper addresses high-performance high-productivity programming on spatial architectures. Spatial architectures are efficient for executing dataflow algorithms, yet for high-performance programming, the productivity is low and verification is painful. We show that coding and verification are the biggest obstacle to the wide adoption of spatial architectures. We propose a new programming methodology, T2S (Temporal to Spatial), to remove this obstacle. A programmer specifies a temporal definition and a spatial mapping. The temporal definition defines the functionality to compute, while the spatial mapping defines how to decompose the functionality and map the decomposed pieces onto a spatial architecture. The specification precisely controls a compiler to actually implement the loop and data transformations specified in the mapping. The specification is loop-nest- and matrix-oriented, and thus lends itself to the compiler for automatic, static verification. Many generic, strategic loop and data optimizations can be systematically expressed. Consequently, high performance is expected with substantially higher productivity: compared with high-performance programming in today's high-level synthesis (HLS) languages or hardware description languages (HDLs), the engineering effort on coding and verification is expected to be reduced from months to hours, a reduction of 2 or 3 orders of magnitude.
Cited by in corpus (7)
- Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights
- Systolic Computing on GPUs for Productive Performance
- Predictable Accelerator Design with Time-Sensitive Affine Types
- Expressing Sparse Matrix Computations for Productive Performance on Spatial Architectures
- Building Application-Specific Overlays on FPGAs with High-Level Customizable IPs
- A Quick Introduction to Functional Verification of Array-Intensive Programs
- Productively Expressing High-performance Spatial Designs of Givens Rotation-based QR Decomposition Algorithm