Bringing Best Practices to a Long-Lived Production Code

Series: HPC Best Practices Webinars

How can you introduce best software practices to a long-lived scientific production code, with a significant user base, that has “gotten along fine” for years doing things its own way? Often developers in such projects must struggle with overly complex code, inadequate documentation, little or no software process, and a “just write the code fast” culture; these are challenges to software quality that are generally not issues for new projects. In this presentation we’ll discuss some of the peculiar problems faced by long-lived scientific codes, and present a case study of how we’re dealing with these issues at LANL in the xRage radiation-hydrodynamics simulation code.


Presenter Bio

Charles Ferenbaugh is a staff member in the Applied Computer Science group at Los Alamos National Laboratory. He received a PhD in Mathematics from Princeton University in 1992. Since 2001, he has been a software developer on HPC code projects in LANL’s Advanced Simulation and Computing program. Most recently he has led code refactoring efforts for the Eulerian Applications Project, and contributed to the Next Generation Code project. He has also been a part of LANL research efforts in advanced architectures and programming models.