{"title":"ESL作为从OpenCL到fpga的门户:基本思想和方法评估","authors":"G. Economakos","doi":"10.1109/PCi.2012.45","DOIUrl":null,"url":null,"abstract":"OpenCL has been proposed as an open standard for application development in heterogeneous multi-core architectures, utilizing different CPU, DSP and GPU types and configurations. Recently, the technological advances in FPGA devices, offering hundreds of GFLOPs with maximum power efficiency, has turned the parallel processing community towards them. However, FPGA programming requires expertise in a different field as well as the appropriate tools and methodologies. A promising solution, gaining wider acceptance lately, is the use of ESL and high-level synthesis methodologies, supporting C/C++ based hardware design. Starting from high-level synthesis, this paper presents a methodology for the adoption of OpenCL as an FPGA programming environment. Specifically, the opportunities as well as the obstacles imposed to the application developer by the FPGA computing platform and the use of C/C++ as input language are presented, and a systematic way to explore both data level and thread level parallelism is given. Experimental result show that efficient design space exploration is supported, with overall system level performance boost of up to 9x, compared to equivalent GPU implementations.","PeriodicalId":131195,"journal":{"name":"2012 16th Panhellenic Conference on Informatics","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"ESL as a Gateway from OpenCL to FPGAs: Basic Ideas and Methodology Evaluation\",\"authors\":\"G. Economakos\",\"doi\":\"10.1109/PCi.2012.45\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"OpenCL has been proposed as an open standard for application development in heterogeneous multi-core architectures, utilizing different CPU, DSP and GPU types and configurations. Recently, the technological advances in FPGA devices, offering hundreds of GFLOPs with maximum power efficiency, has turned the parallel processing community towards them. However, FPGA programming requires expertise in a different field as well as the appropriate tools and methodologies. A promising solution, gaining wider acceptance lately, is the use of ESL and high-level synthesis methodologies, supporting C/C++ based hardware design. Starting from high-level synthesis, this paper presents a methodology for the adoption of OpenCL as an FPGA programming environment. Specifically, the opportunities as well as the obstacles imposed to the application developer by the FPGA computing platform and the use of C/C++ as input language are presented, and a systematic way to explore both data level and thread level parallelism is given. Experimental result show that efficient design space exploration is supported, with overall system level performance boost of up to 9x, compared to equivalent GPU implementations.\",\"PeriodicalId\":131195,\"journal\":{\"name\":\"2012 16th Panhellenic Conference on Informatics\",\"volume\":\"29 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-10-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2012 16th Panhellenic Conference on Informatics\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PCi.2012.45\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 16th Panhellenic Conference on Informatics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PCi.2012.45","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
ESL as a Gateway from OpenCL to FPGAs: Basic Ideas and Methodology Evaluation
OpenCL has been proposed as an open standard for application development in heterogeneous multi-core architectures, utilizing different CPU, DSP and GPU types and configurations. Recently, the technological advances in FPGA devices, offering hundreds of GFLOPs with maximum power efficiency, has turned the parallel processing community towards them. However, FPGA programming requires expertise in a different field as well as the appropriate tools and methodologies. A promising solution, gaining wider acceptance lately, is the use of ESL and high-level synthesis methodologies, supporting C/C++ based hardware design. Starting from high-level synthesis, this paper presents a methodology for the adoption of OpenCL as an FPGA programming environment. Specifically, the opportunities as well as the obstacles imposed to the application developer by the FPGA computing platform and the use of C/C++ as input language are presented, and a systematic way to explore both data level and thread level parallelism is given. Experimental result show that efficient design space exploration is supported, with overall system level performance boost of up to 9x, compared to equivalent GPU implementations.