- Artificial Intelligence and Machine Learning
- Computer Vision, Speech, and Music Processing
- Programming Languages
- Systems and High Performance Computing
- Teaching and Learning
My primary research interest is High Performance Computing, interpreted broadly. The driving question behind this interest is: "How do we write software that can get the highest performance out of a computer system?" The computer system could be a laptop or it could be a leadership-class supercomputer. Getting high performance out of a program requires cooperation from the programming paradigm, the programming language, the compiler, software libraries, the runtime system, the operating system &emdash; and from the programmer.
Of particular interest throughout most of my career has been scalable graph algorithms.