Exploiting Loop-Array Dependencies to Accelerate the Design Space Exploration with High Level Synthesis
Nam Khanh Pham1,2, Amit Kumar Singh3, Akash Kumar2 and Mi Mi Aung Khin1
1DCT Division, Data Storage Institute, A*STAR, Singapore
2ECE Department, National University of Singapore, Singapore
3Department of Computer Science, University of York, UK
Recently, the requirement of shortened design cycles has led to rapid development of High Level Synthesis (HLS) tools that convert system level descriptions in a high level language into efficient hardware designs. Due to the high level of abstraction, HLS tools can easily provide multiple hardware designs from the same behavioral description. Therefore, they allow designers to explore various architectural options for different design objectives. However, such exploration has exponential complexity, making it practically impossible to explore the entire design space. The conventional approaches to reduce the design space exploration (DSE) complexity do not analyze the structure of the design space to limit the number of design points. To fill such a gap, we explore the structure of the design space by analyzing the dependencies between loops and arrays. We represent these dependencies as a graph that is used to reduce the dimensions of the design space. Moreover, we also examine the access pattern of the array and utilize it to find the efficient partition of arrays for each loop optimization parameter set. The experimental results show that our approach provides almost the same quality of result as the exhaustive DSE approach while significantly reducing the exploration time with an average of speed-up of 14x.
Full Text (PDF)