GKLEE: Concolic Verification and Test Generation for GPUs

被引:74
|
作者
Li, Guodong [1 ]
Li, Peng [2 ]
Sawaya, Geof [2 ]
Gopalakrishnan, Ganesh [2 ]
Ghosh, Indradeep [1 ]
Rajan, Sreeranga P. [1 ]
机构
[1] Fujitsu Labs Amer, Sunnyvale, CA 94085 USA
[2] Univ Utah, Sch Comp, Salt Lake City, UT 84112 USA
基金
美国国家科学基金会;
关键词
Reliability; Verification; GPU; CUDA; Parallelism; Symbolic Execution; Formal Verification; Automatic Test Generation; Virtual Machine;
D O I
10.1145/2370036.2145844
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programs written for GPUs often contain correctness errors such as races, deadlocks, or may compute the wrong result. Existing debugging tools often miss these errors because of their limited input-space and execution-space exploration. Existing tools based on conservative static analysis or conservative modeling of SIMD concurrency generate false alarms resulting in wasted bug-hunting. They also often do not target performance bugs (non-coalesced memory accesses, memory bank conflicts, and divergent warps). We provide a new framework called GKLEE that can analyze C++ GPU programs, locating the aforesaid correctness and performance bugs. For these programs, GKLEE can also automatically generate tests that provide high coverage. These tests serve as concrete witnesses for every reported bug. They can also be used for downstream debugging, for example to test the kernel on the actual hardware. We describe the architecture of GKLEE, its symbolic virtual machine model, and describe previously unknown bugs and performance issues that it detected on commercial SDK kernels. We describe GKLEE's test-case reduction heuristics, and the resulting scalability improvement for a given coverage target.
引用
收藏
页码:215 / 224
页数:10
相关论文
共 50 条
  • [41] Automated assumption generation for compositional verification
    Anubhav Gupta
    K. L. McMillan
    Zhaohui Fu
    Formal Methods in System Design, 2008, 32 : 285 - 301
  • [42] Spectral turning bands for efficient Gaussian random fields generation on GPUs and accelerators
    Hunger, Lars
    Cosenza, Biagio
    Kimeswenger, Stefan
    Fahringer, Thomas
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2015, 27 (16) : 4122 - 4136
  • [43] DBTG: Demand-driven Backtracking Test Generation
    Cheng, Shaoyin
    Jiang, Fan
    Wang, Jiajie
    Zhang, Tao
    Xing, Xuezhi
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE FOR YOUNG COMPUTER SCIENTISTS, VOLS 1-5, 2008, : 1944 - +
  • [44] Design verification by test vectors and arithmetic transform universal test set
    Radecka, K
    Zilic, Z
    IEEE TRANSACTIONS ON COMPUTERS, 2004, 53 (05) : 628 - 640
  • [45] Fast DRR generation for 2D to 3D registration on GPUs
    Tornai, Gabor Janos
    Cserey, Gyoergy
    Pappas, Ion
    MEDICAL PHYSICS, 2012, 39 (08) : 4795 - 4799
  • [46] Formal verification of QVT transformations for code generation
    Stenzel, Kurt
    Moebius, Nina
    Reif, Wolfgang
    SOFTWARE AND SYSTEMS MODELING, 2015, 14 (02) : 981 - 1002
  • [47] Formal verification of QVT transformations for code generation
    Kurt Stenzel
    Nina Moebius
    Wolfgang Reif
    Software & Systems Modeling, 2015, 14 : 981 - 1002
  • [48] Automatic Component Protocol Generation and Verification of Components
    Both, Andreas
    Richter, Dirk
    36TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, 2010, : 94 - 101
  • [49] Towards the computation of aircraft engine fan noise generation with high order methods on GPUs
    Koromyslov, E.
    Usanin, M.
    Gomzikov, L.
    Siner, A.
    Lyubimova, T.
    INTERNATIONAL JOURNAL OF AEROACOUSTICS, 2016, 15 (6-7) : 614 - 630
  • [50] Analyzing DUE Errors on GPUs With Neutron Irradiation Test and Fault Injection to Control Flow
    Ito, Kojiro
    Zhang, Yangchao
    Itsuji, Hiroaki
    Uezono, Takumi
    Toba, Tadanobu
    Hashimoto, Masanori
    IEEE TRANSACTIONS ON NUCLEAR SCIENCE, 2021, 68 (08) : 1668 - 1674