Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures

Phitchaya Phothilimthana

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2015-121
May 15, 2015

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-121.pdf

We developed Chlorophyll, a synthesis-aided programming model and compiler for the GreenArrays GA144, an extremely minimalist low-power spatial architecture that requires partitioning a program into fragments of no more than 256 instructions and 64 words of data. This processor is approximately 100-times more energy efficient than other commercially available processors, but currently it can only be programmed using a low-level stack-based language.

The Chlorophyll programming model allows programmers to provide their insight on program partitioning by specifying partial partitioning of data and computation. The Chlorophyll compiler relies on synthesis, sidestepping the need to develop classical optimizations, which may be challenging given the unusual architecture. To scale synthesis to real problems, we decompose the compilation into smaller synthesis subproblems: partitioning, layout, and code generation. We show that the synthesized programs are no more than 19% slower than highly optimized expert-written programs on the MD5 benchmark and are faster than programs produced by a heuristic, non-synthesizing version of our compiler.

Advisor: Ras Bodik


BibTeX citation:

@mastersthesis{Phothilimthana:EECS-2015-121,
    Author = {Phothilimthana, Phitchaya},
    Title = {Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures},
    School = {EECS Department, University of California, Berkeley},
    Year = {2015},
    Month = {May},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-121.html},
    Number = {UCB/EECS-2015-121},
    Abstract = {We developed Chlorophyll, a synthesis-aided programming model and compiler for the GreenArrays GA144, an extremely minimalist low-power spatial architecture that requires partitioning a program into fragments of no more than 256 instructions and 64 words of data.  This processor is approximately 100-times more energy efficient than other commercially available processors, but currently it can only be programmed using a low-level stack-based language. 

The Chlorophyll programming model allows programmers to provide their insight on program partitioning by  specifying partial partitioning of data and computation. The Chlorophyll compiler relies on synthesis, sidestepping the need to develop classical optimizations, which may be challenging given the unusual architecture. To scale synthesis to real problems, we decompose the compilation into smaller synthesis subproblems: partitioning, layout, and code generation.  We show that the synthesized programs are no more than 19% slower than highly optimized expert-written programs on the MD5 benchmark and are faster than programs produced by a heuristic, non-synthesizing version of our compiler.}
}

EndNote citation:

%0 Thesis
%A Phothilimthana, Phitchaya
%T Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures
%I EECS Department, University of California, Berkeley
%D 2015
%8 May 15
%@ UCB/EECS-2015-121
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-121.html
%F Phothilimthana:EECS-2015-121