[PAST EVENT] How to make your programs run faster?

September 18, 2015
3pm
Location
McGlothlin-Street Hall, Room 020
251 Jamestown Rd
Williamsburg, VA 23185Map this location
Abstract

Obtaining good performance for programs running on modern computer architectures is critically important. It not only improves the productivity, but also reduces the energy consumed during the program execution. However, optimizing the programs to decrease their execution time is challenging. On one hand, a program can be complex, including dozens of source files, hundreds of functions, and hundreds of thousands of lines. On the other hand, modern architectures employ sophisticated features, such as deep memory hierarchies, many hardware threads, and heterogeneous cores.

To address these challenges, we developed a set of novel tools to identify performance bottlenecks in program source code. Such performance bottlenecks include poor data locality, poor scalability, load imbalance, and redundant computation. Our tools work for large-scale programs running on modern supercomputers. Guided by the insights from our tools, we were able to optimize the code with minimum manual efforts and obtain significant speedups.

Short bio

Xu Liu is an assistant professor in the Department of Computer Science at William & Mary. He obtained his Ph.D. from Rice University in 2014. His research interests are parallel computing, compilers and performance analysis. Xu has been working on a few open-source performance tools, which are world widely used at universities, DOE national laboratories, and in industry. Xu received HPC fellowships from NAG, Schlumberger, and BP while a Ph.D. candidate at Rice University. After joining W&M, one of Xu's paper was nominated as the best paper at SC '15, one of the top conferences in the field of high performance computing.