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 条
  • [1] GreyConE: Greybox Fuzzing plus Concolic Execution Guided Test Generation for High Level Designs
    Debnath, Mukta
    Chowdhury, Animesh Basak
    Saha, Debasri
    Sur-Kolay, Susmita
    2022 IEEE INTERNATIONAL TEST CONFERENCE (ITC), 2022, : 494 - 498
  • [2] Test sequence generation for controller verification and test with high coverage
    Goren, Sezer
    Ferguson, F. Joel
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2006, 11 (04) : 916 - 938
  • [3] Verification and test generation for the SSCOP protocol
    Bozga, M
    Fernandez, JC
    Ghirvu, L
    Jard, C
    Jéron, T
    Kerbrat, A
    Morel, P
    Mounier, L
    SCIENCE OF COMPUTER PROGRAMMING, 2000, 36 (01) : 27 - 52
  • [4] STG-BASED VERIFICATION AND TEST GENERATION
    He Xinhua Gong Yunzhan(Armoured Force Engineering Institute
    Journal of Electronics(China), 1996, (01) : 68 - 73
  • [5] Combining test case generation and runtime verification
    Artho, C
    Barringer, H
    Goldberg, A
    Havelund, K
    Khurshid, S
    Lowry, M
    Pasareanu, C
    Rosu, G
    Sen, K
    Visser, W
    Washington, R
    THEORETICAL COMPUTER SCIENCE, 2005, 336 (2-3) : 209 - 234
  • [6] Efficient shallow water simulations on GPUs: Implementation, visualization, verification, and validation
    Brodtkorb, Andre R.
    Saetra, Martin L.
    Altinakar, Mustafa
    COMPUTERS & FLUIDS, 2012, 55 : 1 - 12
  • [7] Graph based test case generation for TLM functional verification
    Kakoee, Mohammad Reza
    Neishaburi, M. H.
    Mohammadi, Siamak
    MICROPROCESSORS AND MICROSYSTEMS, 2008, 32 (5-6) : 288 - 295
  • [8] An experiment in automatic generation of test suites for protocols with verification technology
    Fernandez, JC
    Jard, C
    Jeron, T
    Viho, C
    SCIENCE OF COMPUTER PROGRAMMING, 1997, 29 (1-2) : 123 - 146
  • [9] Efficient Test Bitstream Generation Method for Verification of HEVC Decoders
    Hong, Dosun
    Chae, Soo-Ik
    18TH IEEE INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS (ISCE 2014), 2014,
  • [10] Automatic code generation for GPUs in llc
    Reyes, Ruyman
    de Sande, Francisco
    JOURNAL OF SUPERCOMPUTING, 2011, 58 (03) : 349 - 356