Increasing Software Testing Coverage and Portability with Spack

Date and Time: 
Wednesday April 10th 2019
CG Auditorium
Jon Rood

Adequate testing coverage is critical for successful software scientific software development. For numerically intensive codes, the test matrix should cover a variety of machines, compilers, third-party library dependencies, as well as possible other features such as memory testing, parallelization paradigms, and application options that may be enabled or disabled, as some examples. Such coverage can be a major burden on developers without powerful methods for managing the matrix. Spack is a great tool developed by Lawrence Livermore National Lab for managing software on a Unix-based system and in addition to this, we are leveraging Spack to simplify application testing development and management. Here we demonstrate exploiting many of Spack's features to orchestrate the test coverage for the Nalu-Wind application we are developing under the Exascale Computing Project. By using Spack underneath our testing infrastructure, we have increased our testing coverage, portability, robustness, and software quality. While we use our Nalu-Wind application as an example, the benefits of exploiting Spack for application testing can be had for other applications as well.

Speaker Description: 

Jon Rood is a Computational Scientist at the National Renewable Energy Laboratory working on applications underneath the Exascale Computing Project for both wind and combustion energy modeling. Jon has also previously worked on performance portability of weather applications at ETH Zurich and performance engineering of bioinformatics applications at Lawrence Berkeley National Laboratory.

Event Category: