Skip to Main content Skip to Navigation
Conference papers

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.
Document type :
Conference papers
Complete list of metadata

https://hal.archives-ouvertes.fr/hal-03124677
Contributor : Yann Orlarey Connect in order to contact the contributor
Submitted on : Thursday, January 28, 2021 - 10:22:55 PM
Last modification on : Thursday, February 25, 2021 - 9:46:04 AM
Long-term archiving on: : Thursday, April 29, 2021 - 8:03:52 PM

File

IFC20-ORLAREY_ET_AL.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-03124677, version 1

Collections

Citation

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⟩

Share

Metrics

Les métriques sont temporairement indisponibles