Authors: David Bernholdt (Oak Ridge National Laboratory (ORNL)), Anshu Dubey (Argonne National Laboratory (ANL), University of Chicago), Nasir Eisty (Boise State University), Sandra Gesing (University of Illinois, Chicago; Discovery Partner Institute, University of Illinois Chicago), Rinku Gupta (Argonne National Laboratory (ANL)), Axel Huebl (Lawrence Berkeley National Laboratory (LBNL)), Mozhgan Kabiri Chimeh (NVIDIA Corporation), Tomislav Maric (Technical University Darmstadt, Mathematics Department), Marion Weinzierl (Durham University, England; N8 Centre of Excellence in Computationally Intensive Research (N8 CIR), UK)
Abstract: Software engineering (SWE) for modeling, simulation, and data analytics for computational science and engineering (CSE) is challenging, with ever-more sophisticated, higher fidelity simulation of ever-larger, more complex problems involving larger data volumes, more domains, and more researchers. Targeting both commodity and custom high-end computers multiplies these challenges. We invest significantly in creating these codes, but rarely talk about that experience; we just focus on the results.
We seek to raise awareness of SWE for CSE on supercomputers as a major challenge, and develop an international “community of practice” to continue these important discussions outside of workshops and other “traditional” venues.
Long Description: The engineering of software for modeling, simulation, and data analytics for computational science and engineering (CSE) still gets too little attention in our community. We celebrate the big machines, the scientific discoveries they enable when driven by sophisticated software, and the cleverness and creativity of the software itself. We pay much less attention to how the software was developed and many other aspects of the entire lifecycle of a CSE application, including portability, sustainability, overall productivity, and usability by and for the community. Major concerns, such as reproducibility start with good software development practices.
At the same time, the pace of change and level of diversity in architectures have increased dramatically, and the drive to exascale exacerbates the situation. CSE software developers already facing scientific demands for “bigger, better, and faster” modeling and simulation capabilities, entailing larger, more multidisciplinary and geographically dispersed development teams, must now also contend with significant architectural changes. Further, increases in data volume and complexity, and the increasing integration of “big data” (analytics & AI/ML) infrastructures (both hardware and software) raise additional SWE challenges.
We believe this situation has the makings of a serious software crisis in CSE on HPC, which we ignore at our own expense in scientific productivity and opportunity. Fortunately, a growing number of individuals and organizations are paying more attention to addressing this challenge. But their work is not yet widely shared, and the sharing and uptake of good practices is fragmented. We believe that the next step in the process is a concerted effort to increase awareness and sharing of work on SWE for HPC CSE across the community, with the aim of fostering good practices that will result in software fit to power CSE through the next era of computing and recognizing and empowering the people who strive for better scientific software.
Our goal is to bring together people concerned about this topic to share existing activities, discuss how we can expand and improve on them, and share the results, complementing “traditional” venues for the academic (often versus practical) discussion of SWE for CSE, such as conferences and workshops. An interactive Google Doc will be used to collaboratively take notes of the discussion. These notes will be made publicly available.
The SC Conference Series provides an ideal venue for these discussions. A large fraction of the attendees are CSE practitioners or researchers who support such activities. Past editions of this BoF (SC15-20, and ISC2019), have been very well attended and the discussions highly engaged. SC21 will also host a number of complementary activities, including workshops on reproducibility, software correctness, and research software engineering, a tutorial on Better Scientific Software, and, likely, other BOFs. There is also the overall SC Reproducibility Initiative. We believe these activities are highly complementary and will be synergistic in generating interest and participation from the SC community.
Back to Birds of a Feather Archive Listing