This event is a part of the "Best Practices for HPC Software Developers" webinar series, produced by the IDEAS Productivity Project. The HPC Best Practices webinars address issues faced by developers of computational science and engineering (CSE) software on high-performance computers (HPC) and occur approximately monthly.
Resource Information | Details |
---|---|
Webinar Title | Bringing Best Practices to a Long-Lived Production Code |
Date and Time | 2018-01-17 01:00 pm EST |
Presenter | Charles R. Ferenbaugh (Los Alamos National Laboratory) |
Registration, Information, and Archives | https://ideas-productivity.org/resources/series/hpc-best-practices-webinars/#webinar014 |
Webinars are free and open to the public, but advance registration is required through the Event website. Archives (recording, slides, Q&A) will be posted at the same link soon after the event.
Abstract
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.