I threw together this repository because I think there's a lot of interesting work going on around software sustainability in DOE, but it's not particularly visible. In October 2021, DOE put out an RFI on Stewardship of Software for Scientific and High-Performance Computing (also here). The responses were posted, but not in an accessible way. This repo contains all the responses to DOE RFI 2021-203582, listed by institution, so that more people can read them.
Everything here is already available from various DOE web sites, but it's sometimes hard to put it all together. This stuff is important to me, because I care a lot about scientific software sustainability. There's actually a lot of work around scientific software development that goes on at the national labs. If this is something you're interested in, I encourage you to read on.
An RFI is a (usually public) request for input. Labs and other organizations (usually ones who want to steer the direction of public funding) respond. The responses are public. In this case, they're read by funding agencies to help set priorities and funding requests.
The U.S. Exascale Computing Project (ECP), which ends in 2023, has been working to harden the software stack in preparation for the U.S.'s first exascale supercomputers. ECP is a joint effort of ASCR and NNSA labs -- basically the two parts of DOE that fund most of the nation's large-scale high performance computing.
ECP's progress was reviewed by ASCAC, and they wrote a report(also here) on how some of the ECP funding should be transitioned when ECP ends in 2023. The report said:
We recommend that ASCR build a shared software stewardship program to leverage and build on the ECP developed ecosystem to develop, curate, harden, and distribute software essential for effective use of HPC systems.
In response to that, this RFI is asking for:
information on critical software dependencies, development- practice requirements, and other factors relevant to the development of a software stewardship model suitable for sustaining the software ecosystem for scientific and high-performance computing.
In the RFI, you can see that there are more specific questions around dependencies, training, workforce support, infrastructure, packaging, curation, outreach, shared engineering resources, and project support. Basically, all the things you'd need to create a software sustainability program.
The RFI responses are available on regulations.gov, but it's really hard to see who wrote each response. To make this stuff easier to browse, I've put together links to all the responses below. A lot of thought went into some of these, so if you want a window into what different labs, code projects, and other organizations are thinking about software sustainability, this is a good place to start. I hope these give people a better window into sustainability (or, at least, sustainability plans) in DOE.
- 0002: Roscoe Bartlett (Sandia). More Robust and Portable Software Builds for the DOE Software Ecosystem.
- 0002: Miranda Mundt, et al (Sandia). DOE Software Engineering Challenges In Reliable Ecosystems, Portability, and Reproducibility.
- 0003: Jeffrey Carver and Nasir Eisty. (UAB and Boise State). Scientific Software Development Collaboratory.
- 0004: Sara Gosline, et al. (PNNL, ORNL). Incorporating software engineering practices with scientific computing to improve software sustainability.
- 0005: Derek Gaston, et al. (INL). Stewardship of the MOOSE Ecosystem.
- 0006: Los Alamos National Laboratory Response
- 0007: Scientific and High Performance Computing Practices at AER
- 0008: Xinhua Shi, et al. (Temple University). Security and Trustworthiness in Scientific Computing
- 0009: Oak Ridge National Laboratory Response
- 0010: Tadashi Ogitsu (LLNL)
- 0012: ECP Broader Engagement Task Force. A multipronged approach to building a diverse workforce and cultivating an inclusive and professional environment for DOE high-performance computing.
- 0013: Peter Pirkelbauer and Reed Milewicz. (LLNL, SNL). Tool Support for Code Evoluation and Maintenance of Scientific Software
- 0014: Kenton McHenry and Daniel Katz (UIUC/NCSA) Building and Supporting the Human Capability to Steward the Research Software Stockpile.
- 0015: MSB.ai Stewardship of Software for Scientific and High Performance Computing with GURU.
- 0016: Lawrence Livermore National Laboratory Response
- 0017: Ryan M. Richard et al. (NWChemEx Project). Stewardship of Software for Scientific and High-Performance Computing.
- 0018: Mike Heroux, et al. ECP Software Technology Leadership Team Response.
- 0019: Argonne National Laboratory Resposne
- 0020: Thomas Applencourt, et al. The SYCL Portable Programming Model for Accelerators.
- 0021: HDF Group Response
- 0022: IRIS Incorporated Research Institutions for Seismology Response.
- 0023: Hang Liu (Stevens Institute of Technology).
- 0024: Andy Gallo
- 0025: Illinois Rocstar LLC
- 0026: Dataglue of America CORP
- 0027: John Wu (LBNL). Beyond Open Source: A Call to Rethink Policies and Incentives for Sustainable Scientific Software Development
- 0027: Kitware Comment
- 0028: David Bader (NJIT)
- 0029: Pacific Northwest National Laboratory Response
- 0030: Anshu Dubey, et al. Multi-lab Software Sustainability Working Group Response
- 0031: CloudBees Definitive Guide to Modern Software Delivery
- 0031: CloudBees Response
- 0032: NumFOCUS Response
- 0033: US RSE Association Response
- 0034: Geveci, et al. (Kitware). ParaView: A Sustainable Success Story.
- 0035: HPE Response
- 0036: NVIDIA Response
- 0037: Google Cloud Response
- 0037: Google Cloud. Stewarding Your Open Source Project A Guide
- 0038: Robert Bartolo (TRL LLC)