FPGAs have found their way into data centers as accelerator cards, making reconfigurable computing more accessible for high-performance applications. At the same time, new high-level synthesis compilers like Xilinx Vitis and runtime libraries such as XRT attract software programmers into the reconfigurable domain. While software programmers are familiar with task-level and data-parallel programming, FPGAs often require different types of parallelism. For example, data-driven parallelism is mandatory to obtain satisfactory hardware designs for pipelined dataflow architectures. However, software programmers are often not acquainted with dataflow architectures - resulting in poor hardware designs. In this work we present FLOWER, a comprehensive compiler infrastructure that provides automatic canonical transformations for high-level synthesis from a domain-specific library. This allows programmers to focus on algorithm implementations rather than low-level optimizations for dataflow architectures. We show that FLOWER allows to synthesize efficient implementations for high-performance streaming applications targeting System-on-Chip and FPGA accelerator cards, in the context of image processing and computer vision.
翻译:FPGAs 发现自己作为加速器卡进入数据中心,使可重新配置的计算机更容易用于高性能应用程序。 与此同时,新的高级合成合成汇编者,如Xilinx Vitis和XRT等运行时图书馆吸引软件程序员进入可重新配置域。虽然软件程序员熟悉任务级别和数据平行程序,但FPGA往往需要不同类型的平行程序。例如,数据驱动平行程序对于获得令人满意的数据流结构硬件设计是强制性的。然而,软件程序员往往不熟悉数据流结构,导致硬件设计不完善。在此工作中,我们介绍了一个综合的汇编器基础设施,从特定领域图书馆为高水平合成提供自动的可控转换功能。这使程序员能够侧重于算法实施,而不是数据流结构的低度优化。我们显示 FLOWER 能够将高性能流应用的高效实施软件合成到针对系统-芯片和FPGA加速器卡上。