A Parallel Bandit-Based Approach for Autotuning FPGA Compilation Chang Xu1;∗, Gai Liu2, Ritchie Zhao2, Stephen Yang3, Guojie Luo1, Zhiru Zhang2;y 1 Center for Energy-Efficient Computing and Applications, Peking University, Beijing, China 2 School of Electrical and Computer Engineering, Cornell University, Ithaca, USA 3 Xilinx, Inc., San Jose, USA ∗
[email protected],
[email protected] Abstract combinatorial optimization problems such as logic synthe- Mainstream FPGA CAD tools provide an extensive collec- sis, technology mapping, placement, and routing [7]. tion of optimization options that have a significant impact To meet the stringent yet diverse design requirements on the quality of the final design. These options together from different domains and use cases, modern FPGA CAD create an enormous and complex design space that cannot tools commonly provide users with a large collection of op- effectively be explored by human effort alone. Instead, we timization options (or parameters) that have a significant propose to search this parameter space using autotuning, impact on the quality of the final design. For instance, the which is a popular approach in the compiler optimization placement step alone in the Xilinx Vivado Design Suite of- fers up to 20 different parameters, translating to a search domain. Specifically, we study the effectiveness of apply- 6 ing the multi-armed bandit (MAB) technique to automat- space of more than 10 design points [3]. In addition, mul- ically tune the options for a complete FPGA compilation tiple options may interact in subtle ways resulting in unpre- flow from RTL to bitstream, including RTL/logic synthe- dictable effects on solution quality.