Houston, TX 77005
4:00 p.m. Wednesday, Oct. 30, 2013
On Campus | Alumni,
This talk will describe recent work in my group in applying constraint-based synthesis to achieve performance in the domains of database-backed web applications and scientific computing. In the first part of the talk, I will show how constraint-based synthesis can enable a new approach to program optimization. The idea is to use synthesis to derive a high-level representation of a block of code that is provably equivalent to the original; this high-level representation can then be manipulated to apply high-level optimizations that can even reduce the algorithmic complexity of the original code. I will show how this approach can achieve significant speedups for database-backed web applications. In the second part, I will show how synthesis can enable clean abstractions for high-performance programming. By relying on synthesis, the programmer can develop libraries that encapsulate high-level implementation ideas that can be applied in different settings with relatively little programmer effort. We have used this approach to implement a number of kernels form the NAS parallel benchmarks and show that the resulting code is competitive with hand-crafted Fortran code.