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.
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 language | English |
---|---|
Title of host publication | Proceedings of FASE 2019 (held as part of ETAPS 2019) |
Editors | R. Hähnle, W. van der Aalst |
Publisher | Springer |
Pages | 315-331 |
Number of pages | 17 |
Volume | 11424 |
ISBN (Electronic) | 978-3-030-16722-6 |
ISBN (Print) | 978-3-030-16721-9 |
DOIs | |
Publication status | Published - 4 Apr 2019 |
Event | 22nd International Conference on Fundamental Approaches to Software Engineering (FASE): Part of ETAPS 2019 - Prague, Czech Republic Duration: 8 Apr 2019 → 11 Apr 2019 https://www.etaps.org/2019/fase |
Publication series
Name | Lecture Notes in Computer Science (LNCS) |
---|---|
Publisher | Springer Nature |
Volume | 11424 |
ISSN (Print) | 0302-9743 |
Conference
Conference | 22nd International Conference on Fundamental Approaches to Software Engineering (FASE) |
---|---|
Abbreviated title | FASE 2019 |
Country/Territory | Czech Republic |
City | Prague |
Period | 8/04/19 → 11/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.Profiles
-
Ajitha Rajan
- School of Informatics - Personal Chair of Software Testing and Verification
- Laboratory for Foundations of Computer Science
- Foundations of Computation
Person: Academic: Research Active