These projects are either completed (I am not planning to work further on them), or dormant (pending new students or funding). Current projects can be found here.

The Galois project

Much of my early research focused on parallelizing irregular programs. These applications, which make heavy use of pointer-based data structures, have long resisted typical parallelization techniques. This project has looked at various abstractions and run-time systems that can allow programmers to expose and exploit amorphous data parallelism, a generalized form of data parallelism, that arises in irregular programs. Products of this project include the Galois system and the Lonestar benchmark suite.