Automatic Testing of OpenACC Applications
Workshop: Fourth Workshop on Accelerator Programming Using Directives (WACCPD)
Authors: Khalid Ahmad (University of Utah)
Abstract: PCAST (PGI Compiler-Assisted Software Testing) is a feature in our compiler 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. Instead of saving and comparing against a saved 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.