Andrew Lumsdaine

Affiliation: Pacific Northwest National Laboratory, University of Washington, Northwest Institute for Advanced Computing




Understand efficient use of modern C++ targeted for high-performance computing

BSSw Fellow Andrew Lumsdaine has developed best practices for high-performance and high-quality software using modern C++ (up through C++17). Just because a programming language allows various approaches doesn’t mean that you should use them; programming is an art that should consider quality, sustainability, and performance. His course materials include performance-orientated topics and migration from Fortran or previous versions of C++. Taking a careful slice of C++ focused on the needs of DOE application developers, the content includes performance-oriented topics such as pipelining, hierarchical memory, multithreading, and message passing. A unifying theme is the use of abstraction for expressiveness and for performance. Learn more about high-performance modern C++ through his webinar recording and slides: Modern C++ for High-Performance Computing.

Andrew is a Fellow at Pacific Northwest National Laboratory, affiliate professor of computer science at the University of Washington, and chief scientist at Northwest Institute for Advanced Computing.

Perspectives on the BSSw Fellowship Program: I became interested in becoming a BSSw Fellow because I believe in the mission of BSSw. Scientific software is an important tool for scientific discovery. By enabling scientists to be more effective and efficient with this tool, we are also enabling them to do more and better science. Being selected as a BSSw Fellow has been quite an honor and it has been an encouragement to develop educational materials with a specific focus on the unique needs of scientific software. Being a BSSw Fellow has been an opportunity to be on "the ground floor" with this important effort, and I look forward to participating long into the future. The impact you can make as a BSSw Fellow may be non-traditional, but it is nevertheless vitally important.

Selected resources

HPC Best Practices Webinar: Modern C++ for High-Performance Computing High Performance Scientific Computing, University of Washington, Spring 2019