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 条
  • [31] An Agency-Directed Approach to Test Generation for Simulation-based Autonomous Vehicle Verification
    Chance, Greg
    Ghobrial, Abanoub
    Lemaignan, Severin
    Pipe, Tony
    Eder, Kerstin
    2020 IEEE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE TESTING (AITEST), 2020, : 31 - 38
  • [32] Higher-Order Test Generation
    Godefroid, Patrice
    ACM SIGPLAN NOTICES, 2011, 46 (06) : 258 - 269
  • [33] Building a verification test plan: Trading brute force for finesse
    Bacchini, Francine
    Malik, Sharad
    Bergeron, Janick
    Foster, Harry
    Piziali, Andrew
    Mitra, Raj Shekher
    Ahlschlager, Catherine
    Stein, Doron
    43RD DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2006, 2006, : 805 - +
  • [34] Steep Coverage-Ascent Directed Test Generation for Shared-Memory Verification of Multicore Chips
    Andrade, Gabriel A. G.
    Graf, Marleson
    Pfeifer, Nicolas
    dos Santos, Luiz C., V
    2018 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD) DIGEST OF TECHNICAL PAPERS, 2018,
  • [35] An effective and efficient parallel approach for random graph generation over GPUs
    Bressan, Stephane
    Cuzzocrea, Alfredo
    Karras, Panagiotis
    Lu, Xuesong
    Nobari, Sadegh Heyrani
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2013, 73 (03) : 303 - 316
  • [36] AER Spiking Neuron Computation on GPUs: The Frame-to-AER Generation
    Lopez-Torres, M. R.
    Diaz-del-Rio, F.
    Dominguez-Morales, M.
    Jimenez-Moreno, G.
    Linares-Barranco, A.
    NEURAL INFORMATION PROCESSING, PT I, 2011, 7062 : 199 - +
  • [37] Opening the Black Box: Performance Estimation during Code Generation for GPUs
    Ernst, Dominik
    Hager, Georg
    Knorr, Matthias
    Wellein, Gerhard
    Holzer, Markus
    2021 IEEE 33RD INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2021), 2021, : 22 - 32
  • [38] Image Test Libraries for the on-line self-test of functional units in GPUs running CNNs
    Ruospo, A.
    Gavarini, G.
    Porsia, A.
    Reorda, M. Sonza
    Sanchez, E.
    Mariani, R.
    Aribido, J.
    Athavale, J.
    2023 IEEE EUROPEAN TEST SYMPOSIUM, ETS, 2023,
  • [39] Automated assumption generation for compositional verification
    Gupta, Anubhav
    McMillan, K. L.
    Fu, Zhaohui
    FORMAL METHODS IN SYSTEM DESIGN, 2008, 32 (03) : 285 - 301
  • [40] Cryptographic verification of test coverage claims
    Devanbu, PT
    Stubblebine, SG
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (02) : 178 - 192