{"title":"高阶综合的概率优化","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":"{\"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}","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}
Probabilistic Optimization for High-Level Synthesis
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.