Toolflows that map Convolutional Neural Network (CNN) models to Field Programmable Gate Arrays (FPGAs) have been an important tool in accelerating a range of applications across different deployment settings. However, the significance of the problem of finding an optimal mapping is often overlooked, with the expectation that the end user will tune their generated hardware to their desired platform. This is particularly prominent within Streaming Architectures toolflows, where there is a large design space to explore. There have been many Streaming Architectures proposed, however apart from fpgaConvNet, there is limited support for optimisation methods that explore both performance objectives and platform constraints. In this work, we establish a framework, SAMO: a Streaming Architecture Mapping Optimiser, which generalises the optimisation problem of mapping Streaming Architectures to FPGA platforms. We also implement both Brute Force and Simulated Annealing optimisation methods in order to generate valid, high performance designs for a range of target platforms and CNN models. We are able to observe a 4x increase in performance compared to example designs for the popular Streaming Architecture framework FINN.
翻译:将革命神经网络模型映射到实地可编程门阵列的工具流中,是加速不同部署环境中一系列应用的重要工具,然而,寻找最佳绘图问题的重要性往往被忽视,最终用户有望将其生成的硬件调整到理想平台上。这在流动建筑工具流中尤为突出,因为那里有巨大的设计空间可供探索。除了Fpga ConvNet之外,还提出了许多流动结构,但对于探索性能目标和平台限制的优化方法的支持有限。在这项工作中,我们建立了一个框架,SAMO:流动结构绘图最佳优化软件,将测绘流动建筑的优化问题概括到FPGA平台上。我们还实施了布鲁特力和模拟安纳利优化方法,以便为一系列目标平台和CNN模型制作有效、高性能设计。我们可以看到,与大众Stream建筑框架设计示例相比,业绩提高了4x。