Entwurf und Implementierung eines Winograd-Algorithmus-basierten CNN-Beschleunigers auf FPGA-Basis

NIU Zhao-xu ,  

SUN Hai-jiang ,  

摘要

Um die Berechnung von Convolutional Neural Networks in Szenarien mit niedrigem Stromverbrauch und Edge-Computing zu beschleunigen, wurde ein CNN-Beschleuniger basierend auf dem Winograd-Algorithmus mit einem FPGA (Field Programmable Gate Array) entwickelt. Zunächst wurden Bild- und Gewichtsdaten in 8-Bit-Festkommazahlen quantisiert, und ein Quantisierungsprozess im Hardware-Convolution-Rechenprozess entworfen, um die Datenübertragungs- und Berechnungsgeschwindigkeit zu erhöhen. Anschließend wurde ein Modul zur Wiederverwendung von Eingabedaten-Cache entwickelt, das Daten aus mehreren Eingangskanälen zusammenführt und überträgt und überlappende Zeilendaten wiederverwendet. Danach wurde ein Winograd-Pipeline-Convolution-Modul entworfen, das eine kombinierte Wiederverwendung von Spaltendaten realisiert, dadurch die On-Chip-Datennutzung maximiert und den Speicherbedarf sowie die Bandbreitenbelastung reduziert. Schließlich wurde der Beschleuniger auf dem Xilinx ZCU104 Entwicklungsboard eingesetzt. Experimentelle Validierungen zeigten, dass die Rechenleistung der Convolution-Schicht des Beschleunigers 354,5 GOPS erreichte und die On-Chip-DSP-Effizienz 0,69 betrug, was eine Verbesserung um mehr als das 1,6-fache gegenüber verwandten Studien darstellt. Der Beschleuniger kann die Aufgabe der Fernerkundungsbildklassifizierung basierend auf dem VGG-16-Netzwerk mit hoher Energieeffizienz erfüllen.

关键词

Convolutional Neural Network;Field Programmable Gate Array;Winograd-Algorithmus;Pipeline;Parallele Berechnung

阅读全文

以上内容由讯飞翻译自动生成,翻译内容仅供参考。对于因使用本网站翻译内容产生的相关后果,本网站不承担任何商业和法律责任。

The above content is generated by Large Model Translation. The translated content is for reference only. We do not assume any commercial or legal responsibilty for any consequences arising from the use of our website