ebook img

LAC 2009 - Slides: Automatic Parallelization of Faust Code PDF

2009·0.9 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview LAC 2009 - Slides: Automatic Parallelization of Faust Code

AutomaticParallelizationofFaustCode Automatic Parallelization of Faust Code Yann Orlarey Stephane Letz Dominique Fober Grame, Centre National de Creation Musicale, France. LAC 2009, Parma Adequate Notation for Signal Processing 1 Functional approach : A purely functional programming language for real-time signal processing 2 Strong formal basis : A language with a well defined formal semantic Separation between Specification and Implementation 1 Efficient compiled code : The generated C++ code should compete with hand-written code 2 Easy deployment : Multiple native implementations from a single Faust program AutomaticParallelizationofFaustCode Introduction FAUST : Functional AUdio STream Aprogramminglanguageforrealtimesignalprocessing Goals and Principles : Separation between Specification and Implementation 1 Efficient compiled code : The generated C++ code should compete with hand-written code 2 Easy deployment : Multiple native implementations from a single Faust program AutomaticParallelizationofFaustCode Introduction FAUST : Functional AUdio STream Aprogramminglanguageforrealtimesignalprocessing Goals and Principles : Adequate Notation for Signal Processing 1 Functional approach : A purely functional programming language for real-time signal processing 2 Strong formal basis : A language with a well defined formal semantic AutomaticParallelizationofFaustCode Introduction FAUST : Functional AUdio STream Aprogramminglanguageforrealtimesignalprocessing Goals and Principles : Adequate Notation for Signal Processing 1 Functional approach : A purely functional programming language for real-time signal processing 2 Strong formal basis : A language with a well defined formal semantic Separation between Specification and Implementation 1 Efficient compiled code : The generated C++ code should compete with hand-written code 2 Easy deployment : Multiple native implementations from a single Faust program AutomaticParallelizationofFaustCode Introduction FAUST Workflow TheexampleofPDexternals fx.dsp -a puredata.cpp faust -o -xml -svg fx.cpp fx.xml fx.dsp-svg/ g++ faust2pd process.svg fx~.pd_linux fx.pd AutomaticParallelizationofFaustCode NewCodeGenerationSchemes FAUST Compiler Extension UptoFAUST0.9.9.4: scalarcodeonly fx.dsp faust fx.cpp scalar AutomaticParallelizationofFaustCode NewCodeGenerationSchemes FAUST Compiler Extension fromFAUST0.9.9.5: vectorcode fx.dsp faust -vec fx.cpp fx.cpp scalar vector AutomaticParallelizationofFaustCode NewCodeGenerationSchemes FAUST Compiler Extension fromFAUST0.9.9.5: parallelcode fx.dsp faust -vec -omp fx.cpp fx.cpp fx.cpp scalar vector OpenMP parallel code generator (OpenMP directives) vector code generator (loop separation) scalar code generator C++ program AutomaticParallelizationofFaustCode NewCodeGenerationSchemes FAUST Compiler Extension TheCodeGenerationStack These code generation extensions are build on top of each other : parallel code generator (OpenMP directives) vector code generator (loop separation) C++ program AutomaticParallelizationofFaustCode NewCodeGenerationSchemes FAUST Compiler Extension TheCodeGenerationStack These code generation extensions are build on top of each other : scalar code generator

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.