Performance Portability
Computational science applications that I work with represent diverse science needs from climate, circuit simulations, mechanics and fluid simulations, electromagnetics simulations.
Computational science applications that I work with are expected to run on the top 500 supercomputers in the world and on capacity clusters. These systems represent diverse architectures from different vendors each relying on their own programming models and architectural quirks. Designing algorithms and developing implementations of these algorithms that can perform well on all these architectures has been a challenging problem.
My works in this area has been on portable methods for sparse linear algebra, batched linear algebra, sparse linear solvers, graph algorithms, and programming model features. The result of this work is incorporated into software such as the Kokkos ecosystem and the Trilinos framework.