A NEW INTERMEDIATE REPRESENTATION FOR COMPILING AND OPTIMIZING FAUST CODE - Archive ouverte HAL
Communication Dans Un Congrès Année : 2020

A NEW INTERMEDIATE REPRESENTATION FOR COMPILING AND OPTIMIZING FAUST CODE

Résumé

The Faust compiler relies on several intermediate representationsto translate a Faust program. One step, in particular, consists ofmoving from a functional representation of computations on infi-nite signals to an imperative (stateful) representation of computa-tions on samples. This translation phase is complex, as it combinesthe recursive tree traversal, the division of the computations intoinstructions, the scheduling, and the code generation. As a result,the implementation of new code generation strategies is difficult toachieve.In this paper, we propose a new intermediate representation inthe form of a graph whose nodes represent computations on infinitesignals and the edges time dependencies between these computa-tions. The graph structure makes it much easier to handle recursivedependencies as well as to experiment with all kinds of schedul-ing strategies. We will present several of them whose performancehave been tested with the examples of the Faust distribution. Per-formance gains can sometimes be quite significant compared to thecurrent compiler.
Fichier principal
Vignette du fichier
IFC20-ORLAREY_ET_AL.pdf (265.34 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03124677 , version 1 (28-01-2021)

Identifiants

  • HAL Id : hal-03124677 , version 1

Citer

Yann Orlarey, Stéphane Letz, Dominique Fober, Romain Michon. A NEW INTERMEDIATE REPRESENTATION FOR COMPILING AND OPTIMIZING FAUST CODE. International Faust Conference, Dec 2020, Paris, France. ⟨hal-03124677⟩

Collections

GRAME FAUST
356 Consultations
269 Téléchargements

Partager

More