Skip to main content

Automatic Testing of OpenACC Applications

  • Conference paper
  • First Online:
Accelerator Programming Using Directives (WACCPD 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10732))

Included in the following conference series:

  • 470 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 60.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. The OpenACC Application Programming Interface, Version 2.5 (2016). https://www.openacc.org/sites/default/files/inline-files/OpenACC_2pt5.pdf

  2. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–47 (1991)

    Article  Google Scholar 

  3. 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

    Google Scholar 

  4. Bartlett, J., Gray, J., Horst, B.: Fault Tolerance in Tandem Computer Systems, Tandem Computers, Cal., Technical report 86.2, March 1986

    Google Scholar 

  5. Fraser, D.C., Felleman, P.G.: Digital fly-by-wire computers lead the way. Astronaut. Aeronaut. 12, 24–32 (1974)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Abramson, D., Foster, I., Michalakes, J., Sosič, R.: Relative debugging: a new methodology for debugging scientific applications. Commun. ACM 39(11), 69–77 (1996)

    Article  Google Scholar 

  8. Jost, G., Hood, R.: Relative debugging of automatically parallelized programs. Autom. Softw. Eng. 10(1), 75–101 (2003)

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Khalid Ahmad .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics