Formal Analysis of GPU Programs with Atomics via Conflict-Directed Delay-Bounding

2013_NFM_CD screenshot

Abstract

GPU based computing has made significant strides in recent years. Unfortunately, GPU program optimizations can introduce subtle concurrency errors, and so incisive formal bug-hunting methods are essential. This paper presents a new formal bug-hunting method for GPU programs that combine barriers and atomics. We present an algorithm called Conflict-directed Delay-bounded scheduling algorithm (CD) that exploits the occurrence of conflicts among atomic synchronization commands to trigger the generation of alternate schedules; these alternate schedules are executed in a delay-bounded manner. We formally describe CD, and present two correctness checking methods, one based on final state comparison, and the other on user assertions. We evaluate our implementation on realistic GPU benchmarks, with encouraging results.

Citation

Wei-Fan Chiang, Ganesh Gopalakrishnan, Guodong Li, Zvonimir Rakamaric
Formal Analysis of GPU Programs with Atomics via Conflict-Directed Delay-Bounding
Proceedings of the 5th NASA Formal Methods Symposium (NFM 2013), 7871: 213--228, 2013.

BibTeX

@inproceedings{2013_NFM_CD,
  title = {Formal Analysis of GPU Programs with Atomics via Conflict-Directed Delay-Bounding},
  author = {Wei-Fan Chiang and Ganesh Gopalakrishnan and Guodong Li and Zvonimir Rakamaric},
  booktitle = {Proceedings of the 5th NASA Formal Methods Symposium (NFM 2013)},
  editor = {Guillaume Brat and Neha Rungta and Arnaud Venet},
  publisher = {Springer},
  volume = {7871},
  pages = {213--228},
  year = {2013}
}