{"title":"AutoBoxing: Improving GCC Passes to Optimize HW/SW Multi-Versioning of Kernels for HLS","authors":"Johanna Rohde, C. Hochberger","doi":"10.1109/ICFPT47387.2019.00057","DOIUrl":null,"url":null,"abstract":"Compute intense software (SW) parts that are mapped to Hardware (HW) during High-Level-Synthesis often need to be present in the final software for fallback reasons. Optimal SW and HW implementations need very different optimizations. Thus, multiple versions of the same code have to be implemented. Yet, these different versions must use the same interface for compatibility reasons. In this contribution, we present AutoBoxing as a solution for this problem. We have implemented AutoBoxing in the PIRANHA GCC plugin and we demonstrate its effect using the Powerstone benchmarks.","PeriodicalId":241340,"journal":{"name":"2019 International Conference on Field-Programmable Technology (ICFPT)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 International Conference on Field-Programmable Technology (ICFPT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICFPT47387.2019.00057","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Compute intense software (SW) parts that are mapped to Hardware (HW) during High-Level-Synthesis often need to be present in the final software for fallback reasons. Optimal SW and HW implementations need very different optimizations. Thus, multiple versions of the same code have to be implemented. Yet, these different versions must use the same interface for compatibility reasons. In this contribution, we present AutoBoxing as a solution for this problem. We have implemented AutoBoxing in the PIRANHA GCC plugin and we demonstrate its effect using the Powerstone benchmarks.