Andrew Lenharth
Research Associate (Institute for Computational Engineering and Science)
Lecturer (Computer Science)
University of Texas at Austin
Erdös number: 3 (Lenharth -> Richard E. Ladner -> Laszlo Lovasz)

Research

I currently focus on compilers and runtimes for distributed heterogeneous systems, primarily targeting emerging scientific and graph algorithms.

I am the primary author of the current implementation of the Galois System which provides a simple, serial programming model absent user-visible syncronization for writing parallel applications. We achieve good performance and scaling. I work on scaling to NUMA and distributed systems. I have other projects in hardware-software co-design, performance and scaling prediction, GPU runtimes, graph analytics, machine learning, and approximate computing.

I earned my Ph.D. at UIUC working with Vikram Adve. I worked on points-to analysis (DSA), memory safety (SAFECODE), secure operating systems (SVA), and commodity OS fault recovery (my thesis work). My work involved using points-to analysis to drive compiler transformations of OS kernels to introduce safety or reliability.

At UIUC and afterwards, I worked on LLVM. I authored several passes still in existance (e.g. reg2mem); rewrote the profiling framework and implemented sampling based profilers; introduced several language features, including packed structures and bit-counting intrinsics; implemented the first 64-bit backend (DEC Alpha) for the current instruction selector; added atomic instruction support; and worked on points-to analysis (DSA).

Teaching

Class Links: