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.
|Testing Fortran Software with pFUnit
|Date and Time
|2019-04-10 01:00 pm EDT
|Thomas Clune (NASA Goddard Space Flight Center)
|Registration, Information, and Archives
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.
Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driven development (TDD). However, technical computing introduces a number of unique testing challenges, including distributed parallelism and numerical accuracy. This webinar will begin with a basic introduction to the use of pFUnit to develop tests for MPI+Fortran software and then present some of the new capabilities in the latest release. We will also discuss some specialized methodologies for testing numerical algorithms and speculate about future framework capabilities that may improve our ability to test at exascale.
Dr. Thomas Clune currently serves as the Lead for the Software Integration Team within the Global Modeling and Assimilation Office at NASA’s Goddard Space Flight Center and also as NASA’s representative on the Fortran Standards Committee. Much of his recent activities have been focused on leveraging object-oriented features of modern Fortran to provide Fortran developers with analogs of useful capabilities available in other software communities. His open source projects include pFUnit (parallel unit testing for Fortran), gFTL (poor-man’s container templates for Fortran), fArgParse (command line processing), and pFlogger (an MPI-enhanced analog of Python’s logging package).