Automatic Testing of OpenACC Applications

PCAST (PGI Compiler-Assisted Software Testing) is a feature being developed in the PGI compilers and runtime to help users automate testing high performance numerical programs. PCAST normally works by running a known working version of a program and saving intermediate results to a reference file, then running a test version of a program and comparing the intermediate results against the reference file. Here, we describe the special case of using PCAST on OpenACC programs running on a GPU-accelerated system. Instead of saving to and comparing against a reference file, the compiler generates code to run each compute region on both the host CPU and the GPU. The values computed on the host and GPU are then compared, using OpenACC data directives and clauses to decide what data to compare.

[1]  Rok Sosic,et al.  Relative Debugging: A New Debugging Paradigm , 1994 .

[2]  Robert Hood,et al.  Automatic Relative Debugging of OpenMP Programs , 2003 .

[3]  Sunita Chandrasekaran,et al.  Implementing the OpenACC Data Model , 2017, 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[4]  David Goldberg,et al.  What every computer scientist should know about floating-point arithmetic , 1991, CSUR.

[5]  David Abramson,et al.  Relative debugging for a highly parallel hybrid computer system , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[6]  Dong Li,et al.  Interactive Program Debugging and Optimization for Directive-Based, Efficient GPU Computing , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[7]  Seyong Lee,et al.  OpenARC: open accelerator research compiler for directive-based, efficient heterogeneous computing , 2014, HPDC '14.

[8]  David Abramson,et al.  Relative debugging: a new methodology for debugging scientific applications , 1996, CACM.

[9]  Martin Schulz,et al.  Clock delta compression for scalable order-replay of non-deterministic parallel applications , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[10]  Robert Hood,et al.  Relative Debugging of Automatically Parallelized Programs , 2004, Automated Software Engineering.