Exploiting Task- and Data-Level Parallelism in Streaming Applications Implemented in FPGAs

TRETS(2013)

引用 7|浏览18
暂无评分
摘要
This article describes the design and implementation of a novel compilation flow that implements circuits in FPGAs from a streaming programming language. The streaming language supported is called FPGA Brook and is based on the existing Brook language. It allows system designers to express applications in a way that exposes parallelism, which can be exploited through hardware implementation. FPGA Brook supports replication, allowing parts of an application to be implemented as multiple hardware units operating in parallel. Hardware units are interconnected through FIFO buffers which use the small memory modules available in FPGAs. The FPGA Brook automated design flow uses a source-to-source compiler, developed as a part of this work, and combines it with a commercial behavioral synthesis tool to generate the hardware implementation. A suite of benchmark applications was developed in FPGA Brook and implemented using our design flow. Experimental results indicate that performance of many applications scales well with replication. Our benchmark applications also achieve significantly better results than corresponding implementations using a commercial behavioral synthesis tool. We conclude that using an automated design flow for implementation of streaming applications in FPGAs is a promising methodology.
更多
查看译文
关键词
corresponding implementation,fpga brook automated design,design flow,streaming applications,hardware implementation,commercial behavioral synthesis tool,applications scale,fpga brook,exploiting task,existing brook language,data-level parallelism,automated design flow,benchmark application,task parallelism,field programmable gate arrays,data parallelism,scalability,replication,high level synthesis,throughput
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要