Computer Science - Research and Development

, Volume 28, Issue 2, pp 203–209

UPC-CHECK: a scalable tool for detecting run-time errors in Unified Parallel C

  • James Coyle
  • Indranil Roy
  • Marina Kraeva
  • Glenn R. Luecke
Special Issue Paper

DOI: 10.1007/s00450-012-0214-4

Cite this article as:
Coyle, J., Roy, I., Kraeva, M. et al. Comput Sci Res Dev (2013) 28: 203. doi:10.1007/s00450-012-0214-4

Abstract

Unified Parallel C (UPC) is a language used to write parallel programs for distributed memory parallel computers. UPC-CHECK (http://hpcgroup.public.iastate.edu/UPC-CHECK/) is a scalable tool developed to automatically detect argument errors in UPC functions and deadlocks in UPC programs at run-time and issue high quality error messages to help programmers quickly fix those errors. The run-time complexity of all detection techniques used are optimal, i.e. O(1) except for deadlocks involving locks where it is theoretically known to be linear in the number of threads. The tool is easy to use, and involves merely replacing the compiler command with upc-check. Error messages issued by UPC-CHECK were evaluated using the UPC RTED test suite for argument errors in UPC functions and deadlocks. Results of these tests show that the error messages issued by UPC-CHECK for these tests are excellent.

Keywords

UPCRun-time error detectionDistributed deadlock detectionPartitioned global address space

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • James Coyle
    • 1
  • Indranil Roy
    • 1
  • Marina Kraeva
    • 1
  • Glenn R. Luecke
    • 1
  1. 1.Iowa State University’s High Performance Computing GroupIowa State UniversityAmesUSA