Affine Multibanking for High-Level Synthesis - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2021

Affine Multibanking for High-Level Synthesis

Résumé

In the last decade, FPGAs appeared as a credible alternative for big data and high-performance computing applications. However, programming an FPGA is tedious: given a function to implement, the circuit configuration must be built from scratch by the developer. Hence the emergence of high-level circuit compilers (high-level synthesis, HLS), able to translate a C program to an FPGA circuit configuration. Unlike software parallelization, there is no operating system to place the computation and the memory at runtime. All the parallelization decisions must be done at compile time. In this report, we address the compilation of data placement under parallelism and resource constraints. We propose an HLS algorithm able to partition the data across memory banks, so parallel access will target distinct banks to avoid data transfer serialization. Our algorithm is able to minimize the number of banks and the maximal bank size.
Dans la derniere decennie, les FPGA sont apparus comme une alternative credible pour le big data et le calcul haute performance. Malheureusement, la programmation des FPGA requiert la conception d’une configuration de circuit, ce qui est hors d’atteinte pour un programmeur. D’où l’émergence de la synthèse de circuit haut-niveau (High-Level Synthesis, HLS), capable de compiler un code C canonique en configuration de circuit FPGA. Contrairement `a la parallélisation logicielle, toutes les décisions de placement des données et des calculs doivent être prises statiquement, à la compilation. Dans ce rapport, nous ́étudions la compilation d’un placement de données sous contrainte de parallélisme et de taille. Nous proposons un algorithme de HLS capable de partitionner les données sur des bancs, de sorte que deux données accédées en même temps soient sur deux bancs différents, et puissent ainsi être accessibles en parallèle. Notre algorithme est capable de trouver une partition qui minimise le nombre de bancs et la taille maximale d’un banc.
Fichier principal
Vignette du fichier
RR-9440.pdf (940.49 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03481328 , version 1 (15-12-2021)

Identifiants

  • HAL Id : hal-03481328 , version 1

Citer

Ilham Lasfar, Christophe Alias, Matthieu Moy, Rémy Neveu, Alexis Carré. Affine Multibanking for High-Level Synthesis. [Research Report] RR-9440, Inria - Research Centre Grenoble – Rhône-Alpes. 2021. ⟨hal-03481328⟩
83 Consultations
258 Téléchargements

Partager

Gmail Facebook X LinkedIn More