Research in compilers, tools, and programming models to enable complex simulation codes to operate correctly and efficiently across current and next-generation architectures.

Group Lead

Tom Epperly: mathematical optimization, large-scale software architecture, component technology, language interoperability

Research Staff

Johannes Doerfert

Rich Hornung: parallel algorithms for scientific computing, performance portability and optimization, computational methods for adaptive mesh refinement and multiscale programs

Jim Leek: parallel discrete events simulation, compiler tools, software architecture

Chunhua (Leo) Liao: compiler optimization, parallel programming models, performance tools

Pei-Hung Lin: compiler optimization, domain-specific optimization and parallel programming models

Peter Pirkelbauer: static and dynamic analysis, domain specific languages, parallel programming models, concurrent containers

Dan Quinlan: compiler optimization, adaptive mesh refinement, object-oriented scientific computing

Craig Rasmussen: programming languages for high performance computing and software development tools

David Richards: co-design of HPC systems, proxy applications, parallel programming models, Monte Carlo transport, cardiac simulation, molecular dynamics

John Sarracino

Tom Scogland: heterogeneous computing, parallel programming models, adaptive runtime systems, energy efficient computing

Matthew Sottile: programming languages for high performance computing, performance analysis, programming models for scientific computing

Tristan Vanderbruggen: program analysis and transformations for application maintenance and modernization, high-level abstractions for safer HPC codes, machine-learning enabled program analysis frameworks