畳み込みニューラル ネットワーク (CNN) の予測力は、自律型ドローンや車両など、レイテンシに敏感な新しいアプリケーションにとって不可欠な要素となっています。このようなシステムは複数の CNN を採用しており、それぞれが特定のタスクのために訓練されています。計算リソースと外部メモリ帯域幅の割り当ては設計時に最適化する必要があるため、単一の FPGA デバイスで複数の CNN を効率的にマッピングすることは困難な作業です。このペーパーでは、FPGA 上の複数の CNN の最適化されたマッピングのための自動ツールフローである f-CNN^x を提案します。これは、新しいマルチ CNN ハードウェア アーキテクチャと、各モデルのユーザー指定のパフォーマンス要件を考慮した自動設計空間探索方法で構成されます。コンピューティング リソースを割り当て、合成可能なアクセラレータを生成します。さらに、f-CNN^x は、CNN 間のメモリ帯域幅競合の制限を緩和し、アーキテクチャの高い使用率を維持する新しいスケジューリング アルゴリズムを採用しています。実験的評価によると、f-CNN^x の設計は、競合のない FPGA マッピングを最大 50% 上回っており、マルチ CNN システム向けに高度に最適化された GPU 設計よりも最大 6.8 倍高いワット性能を提供します。
The predictive power of Convolutional Neural Networks (CNNs) has been an integral factor for emerging latency-sensitive applications, such as autonomous drones and vehicles. Such systems employ multiple CNNs, each one trained for a particular task. The efficient mapping of multiple CNNs on a single FPGA device is a challenging task as the allocation of compute resources and external memory bandwidth needs to be optimised at design time. This paper proposes f-CNN^x, an automated toolflow for the optimised mapping of multiple CNNs on FPGAs, comprising a novel multi-CNN hardware architecture together with an automated design space exploration method that considers the user-specified performance requirements for each model to allocate compute resources and generate a synthesisable accelerator. Moreover, f-CNN^x employs a novel scheduling algorithm that alleviates the limitations of the memory bandwidth contention between CNNs and sustains the high utilisation of the architecture. Experimental evaluation shows that f-CNN^x's designs outperform contention-unaware FPGA mappings by up to 50% and deliver up to 6.8x higher performance-per-Watt over highly optimised GPU designs for multi-CNN systems.