The canals language and its compiler

  • Authors:
  • Andreas Dahlin;Johan Ersfolk;Guyfu Yang;Haitham Habli;Johan Lilius

  • Affiliations:
  • Åbo Akademi University, Turku, Finland;Åbo Akademi University, Turku, Finland;Åbo Akademi University, Turku, Finland;Åbo Akademi University, Turku, Finland;Åbo Akademi University, Turku, Finland

  • Venue:
  • Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Stream-based computing as embodied in stream-programming environments and streaming languages has attracted quite a lot of interest as a potential solution to programming many-cores. Modern embedded multimedia devices embody many characteristics of stream-based computing with the additional constraint on energy-consumption. In this paper we present a new streaming language Canals together with its compiler. Canals proposes the following novel features: 1. The ability to describe the scheduling of the computation kernels: Canals has a sub-language for describing schedulers and run-time system support. 2. The ability to detect type of data on the inputs of a network (the scheduling is often dependent on the data at run-time): Canals provides bit-stream parsing through automatic deserialization of data in network inputs. 3. Choice of synchronization mechanism between computational kernels and the scheduler to avoid overheads. This is implemented in the run-time system through the Hardware Abstraction Layer (HAL). We describe the language and the code-generators for the Cell processor and the Altera FPGA board.