Vous êtes ici

Techniques de compression dynamique de données pour accélérateurs FPGA.

Equipe et encadrants
Département / Equipe: 
DépartementEquipe
Site Web Equipe: 
https://team.inria.fr/cairn/
Directeur de thèse
Steven Derrien
Co-directeur(s), co-encadrant(s)
Tomofumi Yuki
Contact(s)
Sujet de thèse
Descriptif

Les accélérateurs à base de circuits FPGAs sont utilisés pour le calcul haute performance comme solutions alternatives aux CPU/GPUs, beaucoup moins efficaces en énergie. Ce type d’accélérateurs, désormais programmables via des dialectes C/C++, offrent une puissance de calcul très importante et une hiérarchie mémoire interne très souple. De fait, il s’agit d’une plateforme de choix pour l’accélération d’algorithmes de deep-learning (par exemple l’étape d’inférence dans les CNN [Cong15]). Leurs performances restent cependant limitées par la bande passante entre le circuit et la mémoire externe (400GB/s pour un GPU contre 20GB/s pour un FPGA).

Obtenir un bon niveau de performance requiert donc d’exploiter au maximum la localité des accès aux données, à la fois dans le temps et dans l’espace [Pouchet2013]. Pour certains types d’applications (Convolutionnal Neural Network), il devient avantageux de tirer parti de techniques de compression dynamique de données, qui permettent une réduction du trafic entre le FPGA et la mémoire externe [Ko2017, Guan2017, Kjelso96]. Ce type d’approche, même si elle s’avère très efficace, est très délicate à mettre en œuvre « à la main », car il faut souvent spécialiser le schéma de compression (ADPCM, Huffman, etc.) en fonction de l’application, de ses motifs d’accès à la mémoire et des caractéristiques statistiques des jeux de données.

L’objectif de cette thèse est de proposer des outils/algorithmes de génération de code permettant l’automatisation partielle/complète de ce type de techniques. Pour offrir un niveau maximum de performance, ces techniques seront combinées à des schémas de réindexation des données en mémoire (data-layout optimizations) basées sur le modèle polyédrique [Dathathri2013].

Le domaine d’application considéré sera en priorité celui du deep-learning, mais nous considérons d’autre familles applicatives où ces techniques peuvent apporter des gains en performance (algorithmes itératifs pour la résolution d’EDP, noyaux d’algèbre linéaire denses, etc.).

 

Bibliographie

[Cong15] Chen Zhang, Peng Li, Guangyu Sun, Yijin Guan, Bingjun Xiao, and Jason Cong. 2015. Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks. In Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA '15). ACM, New York, NY, USA, 161-170.

[Dathathri2013] Roshan Dathathri, Chandan Reddy, Thejas Ramashekar, and Uday Bondhugula. Generating efficient data movement code for heterogeneous architectures with distributed-memory. In Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, pages 375–386, 10 2013.

[Guan2017] Yijin Guan, Ningyi Xu, Chen Zhang, Zhihang Yuan, and Jason Cong. Using data compression for optimizing FPGA-based convolutional neural network accelerators. In Lecture Notes in Computer Science, pages 14–26. Springer International Publishing, 2017.

[Kjelso96] M. Kjelso, M. Gooch, and S. Jones. Design and performance of a main memory hardware data compressor. In Proceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000 : Hardware and Software Design Strategies. IEEE Comput. Soc. Press, 1996.

[Ko2017] J. H. Ko, D. Kim, T. Na, J. Kung, and S. Mukhopadhyay. Adaptive weight compression for memory-efficient neural networks. In Design, Automation Test in Europe Conference Exhibition (DATE), 2017, pages 199–204, March 2017.

[Pouchet2013] Louis-Noel Pouchet, Peng Zhang, P. Sadayappan, and Jason Cong. Polyhedral-based data reuse optimization for configurable computing. In Proceedings of the ACM/SIGDA international symposium on Field programmable gate arrays - FPGA 13. ACM Press, 2013.

 

Début des travaux: 
1er octobre 2019
Mots clés: 
Architectures matérielles dédiées, Compilation optimisante
Lieu: 
IRISA - Campus universitaire de Beaulieu, Rennes / Colorado State University