Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
The OpenACC Application Programming Interface, Version 2.5 (2016). https://www.openacc.org/sites/default/files/inline-files/OpenACC_2pt5.pdf
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–47 (1991)
Wolfe, M., Lee, S., Kim, J., Tian, X., Xu, R., Chandrasekaran, S., Chapman, B.: Implementing the OpenACC data model. In: Parallel and Distributed Processing Symposium Workshops, Lake Buena Vista, Fla., pp. 662–672, May 2017
Bartlett, J., Gray, J., Horst, B.: Fault Tolerance in Tandem Computer Systems, Tandem Computers, Cal., Technical report 86.2, March 1986
Fraser, D.C., Felleman, P.G.: Digital fly-by-wire computers lead the way. Astronaut. Aeronaut. 12, 24–32 (1974)
Abramson, D.A., Sosic, R.: Relative debugging: a new debugging paradigm. School of Computing and Information Technology, Faculty of Science and Technology, Griffith University (1994)
Abramson, D., Foster, I., Michalakes, J., Sosič, R.: Relative debugging: a new methodology for debugging scientific applications. Commun. ACM 39(11), 69–77 (1996)
Jost, G., Hood, R.: Relative debugging of automatically parallelized programs. Autom. Softw. Eng. 10(1), 75–101 (2003)
Matthews, G., Hood, R., Jin, H., Johnson, S., Ierotheou, C., et al.: Automatic relative debugging of OpenMP programs. In: Proceedings of EWOMP, Aachen, Germany (2003)
DeRose, L., Gontarek, A., Vose, A., Moench, R., Abramson, D., Dinh, M.N., Jin, C.: Relative debugging for a highly parallel hybrid computer system. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2015, November 2015
Lee, S., Vetter, J.S.: OpenARC: open accelerator research compiler for directive-based, efficient heterogeneous computing. In: Proceedings of the 23rd International Symposium on High-performance Parallel and Distributed Computing, pp. 115–120, June 2014
Lee, S., Le, D., Vetter, J.S.: Interactive programming debugging and optimization for directive-based, efficient GPU computing. In: Proceedings of the 28th International Parallel and Distributed Processing Symposium, May 2014
Sato, K., Ahn, D.H., Laguna, I., Lee, G.L., Schulz, M.: Clock delta compression for scalable order-replay of non-deterministic parallel applications. In: International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2015, pp. 1–12. IEEE (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Ahmad, K., Wolfe, M. (2018). Automatic Testing of OpenACC Applications. In: Chandrasekaran, S., Juckeland, G. (eds) Accelerator Programming Using Directives. WACCPD 2017. Lecture Notes in Computer Science(), vol 10732. Springer, Cham. https://doi.org/10.1007/978-3-319-74896-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-74896-2_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-74895-5
Online ISBN: 978-3-319-74896-2
eBook Packages: Computer ScienceComputer Science (R0)