Abstract
Scientific discoveries across all fields, from physics to biology, are increasingly driven by computer simulations. At the same time, the computational demand of many problems necessitates large-scale calculations on high-performance supercomputers. Developing and maintaining the underlying codes, however, has become a challenging task due to a combination of factors. Leadership computer systems require massive parallelism, while their architectures are diversifying. New sophisticated algorithms are continuously developed and have to be implemented efficiently for such complex systems. Finally, the multidisciplinary nature of modern science involves large, changing teams to work on a given codebase. Using the example of the DCA++ project, a highly scalable and efficient research code to solve quantum many-body problems, we explore how computational science can overcome these challenges by adopting modern software engineering approaches. We present our principles for scientific software development and describe concrete practices to meet them, adapted from agile software development frameworks.
Original language | English |
---|---|
Article number | 012017 |
Journal | Journal of Physics: Conference Series |
Volume | 1290 |
Issue number | 1 |
DOIs | |
State | Published - Oct 30 2019 |
Event | 30th IUPAP Conference on Computational Physics, CCP 2018 - Davis, United States Duration: Jul 29 2018 → Aug 2 2018 |
Funding
U.R.H. and G.B. acknowledge the support by the NCCR MARVEL, funded by the Swiss National Science Foundation. The work of P.W.D. and T.A.M. was supported by the Scientific Discovery through Advanced Computing (SciDAC) program funded by U.S. Department of Energy, Office of Science, Advanced Scientific Computing Research and Basic Energy Sciences, Division of Materials Sciences and Engineering. This research used resources of the Oak Ridge Leadership Computing Facility (OLCF) awarded by the INCITE program, and of the Swiss National Supercomputing Center (CSCS). OLCF is a DOE Office of Science User Facility supported under Contract DE-AC05-00OR22725.