IRILL - Research and Innovation on Free Software

20220324 - Macle : un langage dédié à l'accélération de programmes OCaml sur circuits FPGA


"20220324 - Macle : un langage dédié à l'accélération de programmes OCaml sur circuits FPGA"
by Loic Sylvestre,
Download MP4 format

Date : 24 mars 2022 à 14h - IRILL (site Jussieu 15-16 101)

Orateur : Loic Sylvestre (APR/LIP6 - Sorbonne Université)

Titre : Macle : un langage dédié à l'accélération de programmes OCaml sur circuits FPGA

abstract :

La plateforme O2B (OCaml On Board) est une implémentation de la machine virtuelle OCaml dérivée d'OMicroB. Elle permet d'exécuter les programmes OCaml sur des circuits logiques programmables de type FPGA (Field-programmable gate array) par l'intermédiaire d'un processeur softcore.

La bibliothèque d'exécution d'O2B, écrite en C, donne alors accès à des fonctions externes, directement implantées au niveau « portes logiques », afin de les appeler en OCaml.

La programmation de ces fonctions pose cependant un certain nombre de difficultés, tant du point de vue de la sûreté d'exécution, de l'expressivité offerte au programmeur et de l'efficacité des circuits engendrés par les outils de synthèse.

C'est pourquoi nous concevons Macle (autoMata-based AppliCative LanguagE), un langage de programmation fonctionnel-impératif dédié à la programmation de ces fonctions externes. Cet exposé présente le noyau de Macle, sa compilation vers des produits d'automates synchrones et l'intéropérabilité entre Macle et OCaml.