CUDAsmith: A Fuzzer for CUDA Compilers

Autor: Yongfeng Yin, Zhenyu Zhang, Bo Jiang, Xiaoyan Wang, W. K. Chan, T. H. Tse, Na Li
Rok vydání: 2020
Předmět:
Zdroj: COMPSAC
DOI: 10.1109/compsac48688.2020.0-156
Popis: 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.
Databáze: OpenAIRE