Rubick: A Synthesis Framework for Spatial Architectures Via Dataflow Decomposition.

Zizhang Luo,Liqiang Lu,Size Zheng,Jieming Yin,Jason Cong,Jianwei Yin,Yun Liang
DOI: https://doi.org/10.1109/dac56929.2023.10247743
2023-01-01
Abstract:Dataflows are critical for spatial architectures designed for tensor applications. Prior works develop various notations and hardware generation frameworks for dataflows. However, due to the semantic gap between notations and low-level details, analysis based on these notations cannot capture the detailed architectural features between different dataflows, so these works failed to provide architectural optimization and efficient design space exploration (DSE) at the same time.We propose Rubick, a synthesis framework for spatial architecture. Rubick decomposes the dataflow into two low-level intermediate representations including access entry and data layout. Access entry specifies how data enter into the PE arrays from memory, while data layout specifies how data are arranged and accessed. Based on this decomposition, Rubick provides efficient DSE and generates optimized hardware. Experiments show that the DSE time is accelerated by up to 1.1×10 5 X and performance on FPGA is improved by 13%.
What problem does this paper attempt to address?