Program Verification for Extreme-Scale Applications (Final Scientific/Technical Report)
- Univ. of Delaware, Newark, DE (United States)
The project seeks to develop tools and techniques to help software developers verify the correctness and accuracy of their code. The target domain is scientific software of the kind widely used and developed in the Department of Energy research community, with a particular focus on "extreme scale" programs - those that are expected to involve possibly millions of parallel threads of execution. The report covers the University of Delaware contribution to the collaborative project. The project had a number of successful outcomes, especially regarding the development and extension of the CIVL software verification framework. CIVL is a verification tool for C or Fortran programs that use MPI, OpenMP, CUDA, and/or Pthreads for parallelization. CIVL went through vast improvements and extensions, and was successfully applied to a number of challenging codes. It found a subtle bug in the Devito PDE framework. It was able to verify the functional correctness of a conjugate gradient solver using a novel probabilistic technique with vanishingly small chance of error. CIVL was used very successfully in verification competitions, and the CIVL solutions to the competition challenges were presented and published. CIVL was also used successfully by other researchers on a computational chemistry kernel.
- Research Organization:
- Univ. of Delaware, Newark, DE (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC)
- Contributing Organization:
- Argonne National Laboratory (ANL); Lawrence Livermore National Laboratory (LLNL)
- DOE Contract Number:
- SC0012566
- OSTI ID:
- 1617328
- Report Number(s):
- DOE-UD-12566
- Country of Publication:
- United States
- Language:
- English
Similar Records
The ASC Sequoia Programming Model
Lightweight and Statistical Techniques for Petascale Debugging: Correctness on Petascale Systems (CoPS) Preliminry Report