{"title":"基于ruby的高级合成中递归函数的并行化","authors":"R. Yamashita, Daichi Teruya, H. Nakajo","doi":"10.1109/ICFPT47387.2019.00079","DOIUrl":null,"url":null,"abstract":"This paper proposes a method for high-level synthesis focusing on recursive expressions with parallelization. For the purpose, we have implemented a synthesizing tool on Mulvery which is a high-level synthesis environment based on Ruby language. Combining static and dynamic analysis allows a recursive function in order to generate a control data flow graph (CDFG). CDFG is converted into an RTL module to be synthesized into an appropriately pipelined circuit. We have compared performance of some algorithms with our proposed HLS system with parallelization against performance of synthesized call stack-based hardware from a recursive function similar to software, performance in executing Ruby programs by software as well as performance with an IP core. As a result, high-level synthesized and parallelized FFT performs 7.76x faster than the call stack based hardware and 408.88x faster than the software execution. Against an IP core, 1.28x faster performance has been gained.","PeriodicalId":241340,"journal":{"name":"2019 International Conference on Field-Programmable Technology (ICFPT)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Parallelization of Recursive Function in Ruby-Based High-Level Synthesis\",\"authors\":\"R. Yamashita, Daichi Teruya, H. Nakajo\",\"doi\":\"10.1109/ICFPT47387.2019.00079\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This paper proposes a method for high-level synthesis focusing on recursive expressions with parallelization. For the purpose, we have implemented a synthesizing tool on Mulvery which is a high-level synthesis environment based on Ruby language. Combining static and dynamic analysis allows a recursive function in order to generate a control data flow graph (CDFG). CDFG is converted into an RTL module to be synthesized into an appropriately pipelined circuit. We have compared performance of some algorithms with our proposed HLS system with parallelization against performance of synthesized call stack-based hardware from a recursive function similar to software, performance in executing Ruby programs by software as well as performance with an IP core. As a result, high-level synthesized and parallelized FFT performs 7.76x faster than the call stack based hardware and 408.88x faster than the software execution. Against an IP core, 1.28x faster performance has been gained.\",\"PeriodicalId\":241340,\"journal\":{\"name\":\"2019 International Conference on Field-Programmable Technology (ICFPT)\",\"volume\":\"22 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"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.00079\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 International Conference on Field-Programmable Technology (ICFPT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICFPT47387.2019.00079","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Parallelization of Recursive Function in Ruby-Based High-Level Synthesis
This paper proposes a method for high-level synthesis focusing on recursive expressions with parallelization. For the purpose, we have implemented a synthesizing tool on Mulvery which is a high-level synthesis environment based on Ruby language. Combining static and dynamic analysis allows a recursive function in order to generate a control data flow graph (CDFG). CDFG is converted into an RTL module to be synthesized into an appropriately pipelined circuit. We have compared performance of some algorithms with our proposed HLS system with parallelization against performance of synthesized call stack-based hardware from a recursive function similar to software, performance in executing Ruby programs by software as well as performance with an IP core. As a result, high-level synthesized and parallelized FFT performs 7.76x faster than the call stack based hardware and 408.88x faster than the software execution. Against an IP core, 1.28x faster performance has been gained.