File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1109/COMPSAC48688.2020.0-156
- Scopus: eid_2-s2.0-85094122760
- WOS: WOS:000629086600113
- Find via
Supplementary
- Citations:
- Appears in Collections:
Conference Paper: CUDAsmith: A fuzzer for CUDA compilers
Title | CUDAsmith: A fuzzer for CUDA compilers |
---|---|
Authors | |
Keywords | Compiler compute unified device architecture (CUDA) differential testing equivalence modulo inputs (EMI) testing fuzzing general purpose computing on graphics processing unit (GPGPU) |
Issue Date | 2020 |
Publisher | IEEE. The Proceedings' web site is located at https://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000143 |
Citation | Proceedings of the 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC), Madrid, Spain, 13-17 July 2020, p. 861-871 How to Cite? |
Abstract | CUDA is a parallel computing platform and programming model for the graphics processing unit (GPU) of NVIDIA. With CUDA programming, general purpose computing on GPU (GPGPU) is possible. However, the correctness of CUDA programs relies on the correctness of CUDA compilers, which is difficult to test due to its complexity. In this work, we propose CUDAsmith, a fuzzing framework for CUDA compilers. Our tool can randomly generate deterministic and valid CUDA kernel code with several different strategies. Moreover, it adopts random differential testing and EMI testing techniques to solve the test oracle problems of CUDA compiler testing. In particular, we lift live code injection to CUDA compiler testing to help generate EMI variants. Our fuzzing experiments with both the NVCC compiler and the Clang compiler for CUDA have detected thousands of failures, some of which have been confirmed by compiler developers. Finally, the cost-effectiveness of CUDAsmith is also thoroughly evaluated in our fuzzing experiment. |
Description | COMPSAC 2020 was held virutally due to COVID-19 |
Persistent Identifier | http://hdl.handle.net/10722/287190 |
ISSN | |
ISI Accession Number ID |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Jiang, B | - |
dc.contributor.author | Wang, X | - |
dc.contributor.author | Chan, WK | - |
dc.contributor.author | Tse, TH | - |
dc.contributor.author | Li, N | - |
dc.contributor.author | Yin, Y | - |
dc.contributor.author | Zhang, Z | - |
dc.date.accessioned | 2020-09-22T02:57:11Z | - |
dc.date.available | 2020-09-22T02:57:11Z | - |
dc.date.issued | 2020 | - |
dc.identifier.citation | Proceedings of the 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC), Madrid, Spain, 13-17 July 2020, p. 861-871 | - |
dc.identifier.issn | 0730-3157 | - |
dc.identifier.uri | http://hdl.handle.net/10722/287190 | - |
dc.description | COMPSAC 2020 was held virutally due to COVID-19 | - |
dc.description.abstract | CUDA is a parallel computing platform and programming model for the graphics processing unit (GPU) of NVIDIA. With CUDA programming, general purpose computing on GPU (GPGPU) is possible. However, the correctness of CUDA programs relies on the correctness of CUDA compilers, which is difficult to test due to its complexity. In this work, we propose CUDAsmith, a fuzzing framework for CUDA compilers. Our tool can randomly generate deterministic and valid CUDA kernel code with several different strategies. Moreover, it adopts random differential testing and EMI testing techniques to solve the test oracle problems of CUDA compiler testing. In particular, we lift live code injection to CUDA compiler testing to help generate EMI variants. Our fuzzing experiments with both the NVCC compiler and the Clang compiler for CUDA have detected thousands of failures, some of which have been confirmed by compiler developers. Finally, the cost-effectiveness of CUDAsmith is also thoroughly evaluated in our fuzzing experiment. | - |
dc.language | eng | - |
dc.publisher | IEEE. The Proceedings' web site is located at https://ieeexplore.ieee.org/xpl/conhome.jsp?punumber=1000143 | - |
dc.relation.ispartof | IEEE Annual Computer Software and Applications Conference (COMPSAC) Proceedings | - |
dc.rights | IEEE Annual Computer Software and Applications Conference (COMPSAC) Proceedings. Copyright © IEEE. | - |
dc.rights | ©2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. | - |
dc.subject | Compiler | - |
dc.subject | compute unified device architecture (CUDA) | - |
dc.subject | differential testing | - |
dc.subject | equivalence modulo inputs (EMI) testing | - |
dc.subject | fuzzing | - |
dc.subject | general purpose computing on graphics processing unit (GPGPU) | - |
dc.title | CUDAsmith: A fuzzer for CUDA compilers | - |
dc.type | Conference_Paper | - |
dc.identifier.email | Tse, TH: thtse@cs.hku.hk | - |
dc.identifier.authority | Tse, TH=rp00546 | - |
dc.identifier.doi | 10.1109/COMPSAC48688.2020.0-156 | - |
dc.identifier.scopus | eid_2-s2.0-85094122760 | - |
dc.identifier.hkuros | 314198 | - |
dc.identifier.spage | 861 | - |
dc.identifier.epage | 871 | - |
dc.identifier.isi | WOS:000629086600113 | - |
dc.publisher.place | United States | - |
dc.identifier.issnl | 0730-3157 | - |