CLTestCheck: Measuring Test Effectiveness for GPU Kernels

Chao Peng, Ajitha Rajan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Massive parallelism, and energy effciency of GPUs, along with advances in their programmability with OpenCL and CUDA programming models have made them attractive for general-purpose computations across many application domains. Techniques for testing GPU kernels have emerged recently to aid the construction of correct GPU software. However, there exists no means of measuring quality and effectiveness of
tests developed for GPU kernels. Traditional coverage criteria over CPU programs is not adequate over GPU kernels as it uses a completely different programming model and the faults encountered may be specific to the GPU architecture.

We address this need in this paper and present a framework, CLTestCheck, for assessing quality of test suites developed for OpenCL kernels. The framework has the following capabilities, 1. Measures kernel code coverage using three different coverage metrics that are inspired by faults found in real kernel code, 2. Seeds different types of faults in kernel code and measures fault finding capability of test suite, 3. Simulates different work-group schedules to check for potential deadlocks and data races with a given test suite. We conducted empirical evaluation of CLTestCheck on a collection of 82 publicly available GPU kernels and test suites. We found that CLTestCheck is capable of automatically measuring effectiveness of test suites, in terms of kernel code coverage, fault finding and revealing data races in real OpenCL kernels.
Original languageEnglish
Title of host publicationProceedings of FASE 2019 (held as part of ETAPS 2019)
EditorsR. Hähnle, W. van der Aalst
PublisherSpringer
Pages315-331
Number of pages17
Volume11424
ISBN (Electronic)978-3-030-16722-6
ISBN (Print)978-3-030-16721-9
DOIs
Publication statusPublished - 4 Apr 2019
Event22nd International Conference on Fundamental Approaches to Software Engineering (FASE): Part of ETAPS 2019 - Prague, Czech Republic
Duration: 8 Apr 201911 Apr 2019
https://www.etaps.org/2019/fase

Publication series

NameLecture Notes in Computer Science (LNCS)
PublisherSpringer Nature
Volume11424
ISSN (Print)0302-9743

Conference

Conference22nd International Conference on Fundamental Approaches to Software Engineering (FASE)
Abbreviated titleFASE 2019
Country/TerritoryCzech Republic
CityPrague
Period8/04/1911/04/19
Internet address

Keywords / Materials (for Non-textual outputs)

  • Testing
  • Code coverage
  • Fault finding
  • Data race
  • Mutation testing
  • GPU
  • OpenCL

Fingerprint

Dive into the research topics of 'CLTestCheck: Measuring Test Effectiveness for GPU Kernels'. Together they form a unique fingerprint.

Cite this