SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Birds of a Feather Archive

Expanding the Impact of Scientific Software Engineering in HPC

Authors: Jeffrey Young (Georgia Institute of Technology), Keita Teranishi (Oak Ridge National Laboratory (ORNL)), Alessandro Orso (Georgia Institute of Technology)

Abstract: Efforts like the US Exascale Computing Program (ECP) have focused on accelerating scientific codes for next-generation HPC systems as well as bringing modern software engineering practices to these applications. Efforts like ECP focus large amounts of developer resources on a few important codebases, but a much larger body of scientific and research codes do benefit from the same attention, especially in terms of making codes accessible, interoperable, and reliable. This BoF will engage a set of expert panelists and the audience in understanding how we can bring best practices for software engineering to the wider audience of scientific software developers.

Long Description: This newly proposed Birds of a Feather session is focused on discussing and engaging a wider audience in topics related to software engineering as they apply to scientific applications and workflows. Traditionally, supercomputer center porting and engineering efforts have focused on optimizing a smaller number of “leadership-class” codes, but a much larger body of useful research-oriented software could benefit from similar engineering efforts. The benefits of making software engineering more accessible to this larger target audience of scientific software developers is clear: code that is easily accessible and usable is likely to garner a much larger user and contributor base.

In a similar fashion to the FAIR principles for data, we propose that a successful open-source codebase is Findable, Accessible by a wide userbase, Interoperable across platforms, and Reproducible. The tools to achieve these goals are relatively well-known, though not often applied for scientific software. Build systems must support multiple platforms, testing principles for a code must include concepts from the world of Continuous Integration and Deployment (CI/CD) to test early and often, and contributor guidelines should include clear instructions backed up by automated tools to help ease the jobs of contributors and code maintainers alike.

To this end, this BoF will engage with these principles and several other key topics related to software engineering by discussing the state-of-the-art as well as common pitfalls or challenges that currently limit the usefulness of our general scientific software workflows. An ideal outcome of this BoF would be the discussion of key issues and some agreement by the panel and audience on which issues would be good next steps to promote in efforts like classes, tutorials and workshops, or even new software programs run by government agencies. Explicitly, we are looking to get attendees’ feedback on what techniques might be most useful to increase their engagement with certain scientific software applications.

The BoF will be organized as an expert panel session with pre-seeded questions to start discussion and extensive general Q&A with and from the attendees. We have reached out to Mike Heroux of Sandia National Labs who has agreed to be a panelist as has Franck Ledoux of CEA and Dan Katz of NSCA. Other candidates for the expert panel include Phillipe Pebay of NexGen Analytics, although we are planning to recruit a diverse group of panelists to join this BoF. The proposed panelists and organizers are all experienced practitioners of scientific software and software engineering principles at scale. Dr. Young and Dr. Orso are also the associate director and director of a newly funded scientific software engineering center at Georgia tech that has been recently initiated through the Schmidt Futures non-profit.

We plan to incorporate online polling such as Mentimeter to try and gauge attendee interest in the application key software engineering concepts including build systems, CI/CD, container-based workflows, automated linting and testing, and performance portability APIs like Kokkos and Raja. Outcomes from the BoF will be shared online and through future workshops and events being planned by the organizers.


Back to Birds of a Feather Archive Listing