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.
Researchers have used finite state model-based analysis to detect occurrences of conflicts among atomic synchronization commands in REF which can help in generating alternate delay based scheduling of GPU programs.
Formal Analysis of GPU Programs with Atomics via Conflict-Directed Delay-Bounding ⋆
NASA Formal Methods
Computer Science