The goal of our research is to build intelligent software systems for automatically enhancing the efficiency and survivability of programs, thereby enabling applications programmers to focus on high-level algorithmic issues. We work in several areas, ranging from restructuring and optimizing compilers to protocols for fault-tolerant computing systems.
Our group is best known for its contributions to automatic parallelism and locality enhancement of programs. These advances are used in software products from Intel, IBM, Hewlett-Packard, Silicon Graphics and Digital Equipment Corporation, among other companies.
We are currently working in the following areas:
- Self-optimizing high-performance library generation: We want to understand how model-driven optimization and AI-based search techniques can be combined in systems for producing self-tuned high-performance libraries.
- Automatic application-level fault tolerance: We are building a pre-compiler and a runtime coordination layer for implementing non-blocking, coordinated, application-level check-pointing of MPI/OpenMP programs.
- Web-services for grid-computing: We are implementing a coupled thermal/mechanical/fluid simulation system that uses web-services based on SOAP and XML for communication and co-ordination.





