La fonctionnalité de recherche est en construction.
La fonctionnalité de recherche est en construction.

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. ex. Some numerals are expressed as "XNUMX".
Copyrights notice

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. Copyrights notice

HBDCA: A Toolchain for High-Accuracy BRAM-Defined CNN Accelerator on FPGA with Flexible Structure HBDCA : une chaîne d'outils pour un accélérateur CNN de haute précision défini par BRAM sur FPGA avec une structure flexible

Zhengjie LI, Jiabao GAO, Jinmei LAI

  • Vues en texte intégral

    0

  • Citer

Résumé:

Ces dernières années, le FPGA est devenu populaire dans l'accélération CNN, et de nombreuses chaînes d'outils CNN vers FPGA sont proposées pour déployer rapidement CNN sur FPGA. Cependant, pour ces chaînes d'outils, la mise à jour du réseau CNN signifie la régénération du code RTL et sa réimplémentation, ce qui prend du temps et peut souffrir de problèmes de synchronisation. Nous proposons donc HBDCA : une chaîne d'outils et l'accélérateur correspondant. Le CNN sur HBDCA est défini par le contenu de BRAM. La chaîne d'outils intègre l'utilitaire UpdateMEM de Xilinx, qui met à jour le contenu de BRAM sans processus de resynthèse ni de réimplémentation. La chaîne d'outils intègre également TensorFlow Lite qui fournit une quantification de haute précision. HBDCA prend en charge la quantification des poids sur 8 bits par canal et la quantification des activations sur 8 bits par couche. La mise à niveau de CNN sur l'accélérateur signifie que la taille du noyau de CNN peut changer. La structure flexible de HBDCA prend en charge le parallélisme au niveau du noyau avec trois tailles différentes (3×3, 5×5, 7×7). HBDCA implémente quatre types de parallélisme dans la couche de convolution et deux types de parallélisme dans la couche entièrement connectée. Afin de réduire le nombre d'accès à la mémoire, des techniques de réutilisation des données spatiales et temporelles ont été appliquées à la couche de convolution et à la couche de connexion complète. En particulier, la réutilisation temporelle est adoptée au niveau des lignes et des colonnes d'une carte de caractéristiques d'entrée de couche de convolution. Les données peuvent être lues une seule fois à partir de BRAM et réutilisées pour l'horloge suivante. Les expériences montrent qu'en mettant à jour le contenu BRAM avec une seule commande UpdateMEM, trois CNN avec des tailles de noyau différentes (3 × 3, 5 × 5, 7 × 7) sont implémentés sur HBDCA. Par rapport au flux de conception traditionnel, UpdateMEM réduit le temps de développement de 7.6 à 9.1 fois pour différentes stratégies de synthèse ou de mise en œuvre. Pour un CNN similaire créé par une chaîne d'outils, HBDCA a une latence plus petite (9.97 µs-50.73 µs) et élimine la réimplémentation lors de la mise à jour du CNN. Pour un CNN similaire créé par une conception dédiée, HBDCA a également la plus petite latence de 9.97 µs, la plus haute précision de 99.14 % et la plus faible puissance de 1.391 W. Pour différents CNN créés par une chaîne d'outils similaire qui élimine le processus de réimplémentation, HBDCA atteint une accélération plus élevée de 120.28X.

Publication
IEICE TRANSACTIONS on Information Vol.E104-D No.10 pp.1724-1733
Date de publication
2021/10/01
Publicisé
2021/07/26
ISSN en ligne
1745-1361
DOI
10.1587/transinf.2021EDP7024
Type de manuscrit
PAPER
Catégories
Biocybernétique, Neuroinformatique

Auteurs

Zhengjie LI
  Fudan University
Jiabao GAO
  Fudan University
Jinmei LAI
  Fudan University

Mots-clés

Table des matières