A NEW INTERMEDIATE REPRESENTATION FOR COMPILING AND OPTIMIZING FAUST CODE - Publications de GRAME - Centre national de création musicale
Conference Papers Year : 2020

A NEW INTERMEDIATE REPRESENTATION FOR COMPILING AND OPTIMIZING FAUST CODE

Abstract

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
Origin Files produced by the author(s)

Dates and versions

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

Identifiers

  • HAL Id : hal-03124677 , version 1

Cite

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 View
269 Download

Share

More