Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Thu 22 Sep 2016 11:00 - 11:25 at Conference Room 2 - Domain Specific Languages Chair(s): Zhenjiang Hu

We present an embedded language in Haskell for programming pipelined computations. The language is a combination of Feldspar (a functional language for array computations) and a new implementation of Ziria (a language for describing streaming computations originally designed for programming software defined radio). The resulting language makes heavy use of fusion: as in Feldspar, computations over arrays are fused to eliminate intermediate arrays, but Ziria processes can also be fused, eliminating the message passing between them, which in turn can give rise to more fusion at the Feldspar level. The result is a language in which we can first describe pipelined computations at a very fine-grained level, and only afterwards map computations onto the details of a specific parallel architecture, where the fusion helps us to generate efficient code. This flexible design method enables late design decisions cheaply, which in turn can lead to more efficient produced code. In the paper, we present two examples of pipelined computations in our language that can be run on Adapteva’s Epiphany many-core coprocessor and on other back-ends.

Thu 22 Sep
Times are displayed in time zone: Osaka, Sapporo, Tokyo change

10:35 - 11:25
Domain Specific LanguagesFHPC at Conference Room 2
Chair(s): Zhenjiang HuNational Institute of Informatics, Japan
Icicle: Write Once, Run Once
Amos RobinsonAmbiata (Australia), Ben LippmeierUniversity of New South Wales
Using Fusion to Enable Late Design Decisions for Pipelined Computations
Mate KaracsonyEötvös Loránd University, Koen ClaessenChalmers University of Technology