Synthesis of Layout Engines
This project develops algorithms for abstract synthesis with the goal of generating efficient layout engines for the web browser and data visualization. Currently, we are working on synthesis of an efficient incremental layout algorithm that is also statically parallelizable. A collaboration with Mozilla.
FTL: Synthesis of Tree Computations for Layout
We examined how to synthesize a parallel schedule of structured traversals over trees. In our system, programs are declaratively specified as attribute grammars and parallel traversals for GPUs and multicore CPUs are defined by a compiler. Our synthesizer automatically, correctly, and quickly schedules the attribute grammar.
Superconductor: GPU-powered Data Visualization
Superconductor is a web framework for creating data visualizations that scale to real-time interactions with up to 1,000,000 data points. It compiles to WebCL, WebGL, and web workers to unleash the power of parallel hardware for fast and cross-platform data visualization. The technology is now developed by Graphistry.