Feldspar: A Domain Specific Language for Digital Signal Processing algorithms
Paper i proceeding, 2010

A new language, Feldspar, is presented, enabling high-level and platform-independent description of digital signal processing (DSP) algorithms. Feldspar is a pure functional language embedded in Haskell. It offers a high-level dataflow style of programming, as well as a more mathematical style based on vector indices. The key to generating efficient code from such descriptions is a high-level optimization technique called vector fusion. Feldspar is based on a low-level, functional core language which has a relatively small semantic gap to machine-oriented languages like C. The core language serves as the interface to the back-end code generator, which produces C. For very small examples, the generated code performs comparably to hand-written C code when run on a DSP target. While initial results are promising, to achieve good performance on larger examples, issues related to memory access patterns and array copying will have to be addressed.

Författare

Emil Axelsson

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

Koen Lindström Claessen

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

Gergely Dévai

Eötvös Loránd University (ELTE)

Zoltán Horváth

Eötvös Loránd University (ELTE)

Karin Keijzer

Chalmers, Data- och informationsteknik, Datavetenskap

Bo Lyckegård

Ericsson AB

Anders Persson

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

Mary Sheeran

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

Josef Svenningsson

Chalmers, Data- och informationsteknik, Programvaruteknik (Chalmers)

András Vajda

Ericsson Research AB

Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign

169-178
978-142447885-9 (ISBN)

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Systemvetenskap

Datavetenskap (datalogi)

DOI

10.1109/MEMCOD.2010.5558637

ISBN

978-142447885-9

Mer information

Senast uppdaterat

2018-09-06