SCEC Award Number 18107 View PDF
Proposal Category Collaborative Proposal (Integration and Theory)
Proposal Title Unified and Continuous Software Development for AWP-ODC-OS
Investigator(s)
Name Organization
Yifeng Cui University of California, San Diego Alexander Breuer University of California, San Diego
Other Participants a graduate student
SCEC Priorities 4c, 4a, 2b SCEC Groups CME, CS, GM
Report Due Date 03/15/2019 Date Report Submitted 05/14/2019
Project Abstract
State-of-the-art software development and engineering techniques are in high demand for increased code quality and usability. Important best practices include licensing, unified software development, version control for software and data, as well as Continuous Integration (CI) and Continuous Delivery (CD) solutions. This project showcases the application of best practices in software development and software engineering to AWP-ODC-OS, for a fully integrated software infrastructure designed with 1) a clear and transparent license structure for software and data, 2) well-documented and continuously tested examples and benchmarks, and 3) a significant reduction of development time through fast and automated status reports on the software's health.
Intellectual Merit The implemented continuous integration and delivery structure for AWP-ODC-OS through this project demonstrates the layout of the respective repositories and provides insights on the technical aspects of the important software and data implementation. We use the established BSD3 license for all software products and waivers (CC0) for all data products. This practice provides a structure for inter-institutional collaboration. The CI and CD pipelines, using the open-source continuous delivery server GoCD (Apache License 2.0), schedule work to agents, running on local machines and remote XSEDE resources, e.g., TACC's Stampede or SDSC's Comet. The CI/CD pipelines implemented automatically analyze AWP-ODC-OS from simple sanity checks, e.g., memory debugging, towards a continuous verification on supercomputing infrastructure. This transformation towards modern and comprehensive software and engineering practices starts with AWP-ODC-OS, tailored to SCEC’s community overall open source needs, with the potential to extend the CI/CD server setups into the public clouds, e.g., Amazon's AWS EC2.
Broader Impacts The use of many-core and multi-core accelerators offers the prospect of decisively broaden the frequency band covered by seismic simulations, allowing researchers to predict ground motions at frequencies relevant for common dwellings (2-10 Hz). Advanced computational methods, including inelastic and/or nonlinear wave propagation alternatives, enhances the results of forward wave propagation simulations. This work helps translate basic research into practical products for reducing risk and improving community resilience. The project motivated and educated a diverse scientific workforce, from the undergraduate to early-career level, that integrates system science with high performance computing capabilities.
Exemplary Figure Figure 2 illustrates the continuous integration and delivery of AWP-ODC-OS in the software engineering process of building, testing and releasing. Commits to the public Git repository automatically trigger a suite of parallel and sequential tests, which increase in rigor as tests are passed. Public release occurs after the completion of output verification, in which a representative set of simulations are run and compared to reference solutions.