Barrier invariants a shared state abstraction for the analysis of data-dependent GPU kernels
Barrier invariants a shared state abstraction for the analysis of data-dependent GPU kernels
复制标题
屏障不变量是一种共享状态抽象,用于分析数据相关的 GPU 内核
DOI:
10.1145/2544173.2509517
复制
发表时间:
2013
影响因子:
--
通讯作者:
Chong N
中科院分区:
文献类型:
--
作者:
Chong N
Data-dependent GPU kernels, whose data or control flow are dependent on the input of the program, are difficult to verify because they require reasoning about shared state manipulated by many parallel threads. Existing verification techniques for GPU kernels achieve soundness and scalability by using a two-thread reduction and making the contents of the shared statenondeterministiceach time threads synchronise at a barrier, to account for all possible thread interactions. This coarse abstraction prohibits verification of data-dependent kernels. We presentbarrier invariants, a novel abstraction technique which allows key properties about the shared state of a kernel to be preserved across barriers during formal reasoning. We have integrated barrier invariants with the GPUVerify tool, and present a detailed case study showing how they can be used to verify threeprefix sumalgorithms, allowing efficient modular verification of astream compactionkernel, a key building block for GPU programming. This analysis goes significantly beyond what is possible using existing verification techniques for GPU kernels.