{"title":"Probabilistic Optimization for High-Level Synthesis","authors":"Jianyi Cheng, John Wickerson, G. Constantinides","doi":"10.1145/3431920.3439455","DOIUrl":null,"url":null,"abstract":"High-level synthesis (HLS) tools automatically transform a high-level program, for example in C/C++, into a low-level hardware description. A key challenge in HLS tools is scheduling, i.e. determining the start time of all the operations in the untimed program. There are three approaches to scheduling: static, dynamic and hybrid. Static scheduling has been well studied, however, statically analysing dynamic hardware behaviours is still challenging due to the unpredictability due to run-time dependencies. Existing approaches either assume the worst-case timing behaviour, which can cause significant performance loss or area overhead, or use simulation, which takes significant time to explore a sufficiently large number of program traces. In this work, we introduce a novel probabilistic model allowing HLS tools to efficiently estimate and optimize the cycle-level timing behaviour of HLS-generated hardware. Our framework offers insights to assist both hardware engineers and HLS tools when estimating and optimizing hardware performance.","PeriodicalId":386071,"journal":{"name":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","volume":"66 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-02-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3431920.3439455","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
High-level synthesis (HLS) tools automatically transform a high-level program, for example in C/C++, into a low-level hardware description. A key challenge in HLS tools is scheduling, i.e. determining the start time of all the operations in the untimed program. There are three approaches to scheduling: static, dynamic and hybrid. Static scheduling has been well studied, however, statically analysing dynamic hardware behaviours is still challenging due to the unpredictability due to run-time dependencies. Existing approaches either assume the worst-case timing behaviour, which can cause significant performance loss or area overhead, or use simulation, which takes significant time to explore a sufficiently large number of program traces. In this work, we introduce a novel probabilistic model allowing HLS tools to efficiently estimate and optimize the cycle-level timing behaviour of HLS-generated hardware. Our framework offers insights to assist both hardware engineers and HLS tools when estimating and optimizing hardware performance.