当前位置: X-MOL 学术arXiv.cs.PF › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
StreamBlocks: A compiler for heterogeneous dataflow computing (technical report)
arXiv - CS - Performance Pub Date : 2021-07-20 , DOI: arxiv-2107.09333
Endri Bezati, Mahyar Emami, Jörn Janneck, James Larus

To increase performance and efficiency, systems use FPGAs as reconfigurable accelerators. A key challenge in designing these systems is partitioning computation between processors and an FPGA. An appropriate division of labor may be difficult to predict in advance and require experiments and measurements. When an investigation requires rewriting part of the system in a new language or with a new programming model, its high cost can retard the study of different configurations. A single-language system with an appropriate programming model and compiler that targets both platforms simplifies this exploration to a simple recompile with new compiler directives. This work introduces StreamBlocks, an open-source compiler and runtime that uses the CAL dataflow programming language to partition computations across heterogeneous (CPU/accelerator) platforms. Because of the dataflow model's semantics and the CAL language, StreamBlocks can exploit both thread parallelism in multi-core CPUs and the inherent parallelism of FPGAs. StreamBlocks supports exploring the design space with a profile-guided tool that helps identify the best hardware-software partitions.

中文翻译:

StreamBlocks:异构数据流计算的编译器(技术报告)

为了提高性能和效率,系统使用 FPGA 作为可重新配置的加速器。设计这些系统的一个关键挑战是在处理器和 FPGA 之间划分计算。适当的分工可能很难提前预测,需要进行实验和测量。当调查需​​要用新语言或新编程模型重写系统的一部分时,其高昂的成本会阻碍对不同配置的研究。具有针对两个平台的适当编程模型和编译器的单语言系统将这种探索简化为使用新编译器指令进行简单的重新编译。这项工作介绍了 StreamBlocks,这是一种开源编译器和运行时,它使用 CAL 数据流编程语言来跨异构(CPU/加速器)平台划分计算。由于数据流模型的语义和 CAL 语言,StreamBlocks 可以利用多核 CPU 中的线程并行性和 FPGA 的固有并行性。StreamBlocks 支持使用配置文件引导工具探索设计空间,该工具有助于识别最佳硬件软件分区。
更新日期:2021-07-21
down
wechat
bug