CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

An EDSL approach to high performance haskell programming

Johan Ankner ; Josef Svenningsson (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers))
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell (0362-1340). Vol. 48 (2013), 12, p. 1-11.
[Konferensbidrag, refereegranskat]

This paper argues for a new methodology for writing high performance Haskell programs by using Embedded Domain Specific Languages. We exemplify the methodology by describing a complete library, meta-repa, which is a reimplementation of parts of the repa library. The paper describes the implementation of meta-repa and contrasts it with the standard approach to writing high performance libraries. We conclude that even though the embedded language approach has an initial cost of defining the language and some syntactic overhead it gives a more tailored programming model, stronger performance guarantees, better control over optimizations, simpler implementation of fusion and inlining and allows for moving type level programming down to value level programming in some cases. We also provide benchmarks showing that meta-repa is as fast, or faster, than repa. Furthermore, meta-repa also includes push arrays and we demonstrate their usefulness for writing certain high performance kernels such as FFT.

Nyckelord: Array programming, EDSL, Meta programming, Optimization



Den här publikationen ingår i följande styrkeområden:

Läs mer om Chalmers styrkeområden  

Denna post skapades 2013-11-27. Senast ändrad 2015-09-21.
CPL Pubid: 187537

 

Läs direkt!


Länk till annan sajt (kan kräva inloggning)