Programming parallelism on FPGAs with Eclat - Archive ouverte HAL
Communication Dans Un Congrès Année : 2024

Programming parallelism on FPGAs with Eclat

Jocelyn Sérot

Résumé

Eclat is a general purpose OCaml-like programming language with synchronous semantics for designing reactive hardware applications on FPGAs. It is compiled down to hardware descriptions to realize computations as intrinsically parallel circuits able to interact with the physical world. This paper presents a formalization of Eclat with shared memory and mutability, handling concurrent memory accesses while preserving determinacy. The language is precise enough to express efficient circuits with fine control over throughput, parallelism and time-space trade-off. It also enables abstraction by letting the programmer implement, reuse and compose algorithmic skeletons such as map and pipe. The synchronous approach makes it possible to estimate the execution time of parallel programs by simple reasoning on source code for quick prototyping and optimization.
Fichier principal
Vignette du fichier
preprint-hlpp24.pdf (732.79 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04772531 , version 1 (08-11-2024)

Licence

Identifiants

  • HAL Id : hal-04772531 , version 1

Citer

Loïc Sylvestre, Jocelyn Sérot, Emmanuel Chailloux. Programming parallelism on FPGAs with Eclat. 17th International Symposia on High-Level Parallel Programming and Applications (HLPP 2024), Massimo Torquati; Marco Danelutto, Jul 2024, Pisa, Italy. pp. 69-88. ⟨hal-04772531⟩
25 Consultations
10 Téléchargements

Partager

More