Roofline guided design and analysis of a multi-stencil CFD solver

Event Sponsor: 
Mathematics and Computer Science Seminar
Start Date: 
Mar 21 2018 - 1:00pm
Building 240/Room 4301
Argonne National Laboratory
Aparna Chandramowlishwaran
Speaker(s) Title: 
University of California, Irvine
Pavan Balaji

Solving Navier-Stokes equations is a challenging multi-scale multi-physics problem. Our solver is a realistic structured mesh finite-volume code and presents many challenges of real applications. Specifically, our solver consists of multi-stencils with different computational intensities and memory access patterns. While the challenges of single-stencil kernels still apply to this problem, solving a multi-stencil kernel poses new challenges, since each stencil has a unique pattern and requires access to different neighbors. In this talk, I will outline how multiple stencils impact optimization and discuss techniques for improving locality and parallelism by trading off redundant work and intermediate accuracy. We also ask whether CFD application can be expressed in stencil DSLs and whether such an implementation can deliver a sufficient combination of optimizations to compete with a hand-tuned code and what are its limitations.

Aparna Chandramowlishwaran is an assistant professor at the University of California, Irvine, in the Department of Electrical Engineering and Computer Science. Her research lab, HPC Factory, is interested in "all-things" high-performance computing with an emphasis on parallel algorithms, performance analysis and tuning, and domain-specific compilers. She is a recipient of the NSF CAREER award (2018), Intel Ph.D. fellowship (2012), ACM/IEEE George Michael Memorial HPC fellowship (2010), Best Paper Award at IEEE Parallel and Distributed Processing Symposium (IPDPS, 2010), and co-recipient of the ACM Gordon Bell Prize (2010) among others. She received her Ph.D. in Computational Science and Engineering from Georgia Institute of Technology (Georgia Tech) in 2013 and was a research scientist at MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) with the Compilers at MIT research group.