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 条
  • [21] Batched Generation of Incomplete Sparse Approximate Inverses on GPUs
    Anzt, Hartwig
    Chow, Edmond
    Huckle, Thomas
    Dongarra, Jack
    PROCEEDINGS OF SCALA 2016: 7TH WORKSHOP ON LATEST ADVANCES IN SCALABLE ALGORITHMS FOR LARGE-SCALE SYSTEMS, 2016, : 49 - 56
  • [22] Automatic Generation of Specialized Direct Convolutions for Mobile GPUs
    Mogers, Naums
    Radu, Valentin
    Li, Lu
    Turner, Jack
    O'Boyle, Michael
    Dubach, Christophe
    GPGPU'20: PROCEEDINGS OF THE 13TH ANNUAL WORKSHOP ON GENERAL PURPOSE PROCESSING USING GRAPHICS PROCESSING UNIT (GPU), 2020, : 41 - 50
  • [23] Using STLs for Effective In-Field Test of GPUs
    Condia, Josie E. Rodriguez E.
    da Silva, Felipe Augusto
    Bagbaba, Ahmet Cagrl
    Guerrero-Balaguera, Juan-David
    Hamdioui, Said
    Sauer, Christian
    Reorda, Matteo Sonza
    IEEE DESIGN & TEST, 2023, 40 (02) : 109 - 117
  • [24] Systematic Generation of Diverse Benchmarks for DNN Verification
    Xu, Dong
    Shriver, David
    Dwyer, Matthew B.
    Elbaum, Sebastian
    COMPUTER AIDED VERIFICATION (CAV 2020), PT I, 2020, 12224 : 97 - 121
  • [25] eVeriCombTest: Automated Test Case Generation Technique Using a Combination of Verification and Combinatorial Testing
    Godboley, Sangharatna
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 306 - 313
  • [26] Verification of test suites
    Jard, C
    Jéron, T
    Morel, P
    TESTING OF COMMUNICATING SYSTEMS: TOOLS AND TECHNIQUES, 2000, 48 : 3 - 18
  • [27] Hybrid Test Data Generation
    Liu, Zicong
    Chen, Zhenyu
    Fang, Chunrong
    Shi, Qingkai
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 630 - 631
  • [28] Analytical performance estimation during code generation on modern GPUs
    Ernst, Dominik
    Holzer, Markus
    Hager, Georg
    Knorr, Matthias
    Wellein, Gerhard
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2023, 173 : 152 - 167
  • [29] Parallel Frequent Pattern Mining without Candidate Generation on GPUs
    Wang, Fei
    Yuan, Bo
    2014 IEEE INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOP (ICDMW), 2014, : 1046 - 1052
  • [30] Automated Generation of Optimized Code Implementing SVM models on GPUs
    Castro, Oscar
    Vega, Ines Fernando
    IEEE LATIN AMERICA TRANSACTIONS, 2021, 19 (03) : 413 - 420