Armando Solar-Lezama
Graduate Student  
UC Berkeley  
   
asolar_at_eecs.berkeley.edu  
 
Programming by Sketching:   StreamBit   SKETCH  
StreamBit: Optimization of Bit-Stream Programs through Sketching

This is a project I have been working on with my advisor Ras Bodik since the Fall of 2003 in collaboration with Kemal Ebciglou and Rodric Rabbah from MIT, with the support of Vivek Sarkar, also from Watson.

StreamBit is a tool that aims to increase productivity in the development of applications that process streams at the bit level. Such bit-stream programs occur in several domains such as cryptography and coding, and they are characterized by strong performance requirements and huge performance differences between highly tuned implementations and more naively written ones. For this reason, widely used implementations often combine clever high-level optimizations with careful low-level coding. Our tool instead uses StreamIt, a high level Domain Specific Language for streaming applications, combined with optimization sketches to allow for separation of concerns between the algorithm specification and the implementation details, greatly simplifying the development process.

StreamBit is a transformation system; the original program is transformed into an efficient implementation by applying a set of semantics preserving transformations. The user controls the transformation process by providing sketches that tell the system how the code should look like after particular transformation steps.

Links:

Distribution of the StreamBit compiler (last updated 08/19/2005) (tar.gz)

A brief tutorial given to the participants in the user study (PDF)
Skeleton Code for Exercises in the tutorial
Solutions to Exercises in the tutorial

StreamIt Page
PLDI05 Talk (PPT)(ZIP)
An older talk from my Summer at IBM in 2004 (PPT)
Conference Papers:
Armando Solar-Lezama, Rodric Rabbah, Rastislav Bodik, Kemal Ebcioglu, "Programming by Sketching for Bitstreaming Programs", in ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '05), Chicago IL, June 2005 (BibTex)
Best paper award
Workshop Papers:
Armando Solar-Lezama, and Rastislav Bodik, "Templating Transformations for Bitstream Programs," in HPCA Workshop on Productivity and Performance in High-End Computing (P-PHEC 2004, held in conjunction with HPCA 2004, Madrid, Spain.