A Comprehensive Performance Comparison of CUDA and OpenCL
Citations Over TimeTop 1% of 2011 papers
Abstract
This paper presents a comprehensive performance comparison between CUDA and OpenCL. We have selected 16 benchmarks ranging from synthetic applications to real-world ones. We make an extensive analysis of the performance gaps taking into account programming models, ptimization strategies, architectural details, and underlying compilers. Our results show that, for most applications, CUDA performs at most 30% better than OpenCL. We also show that this difference is due to unfair comparisons: in fact, OpenCL can achieve similar performance to CUDA under a fair comparison. Therefore, we define a fair comparison of the two types of applications, providing guidelines for more potential analyses. We also investigate OpenCL's portability by running the benchmarks on other prevailing platforms with minor modifications. Overall, we conclude that OpenCL's portability does not fundamentally affect its performance, and OpenCL can be a good alternative to CUDA.
Related Papers
- → HIPCL(2020)21 cited
- → The portability of the BCPL compiler(1971)70 cited
- → Evaluating CUDA Portability with HIPCL and DPCT(2021)10 cited
- → Observations on the portability of Ada I/O(1987)3 cited
- → Comparing Performance and Portability between CUDA and SYCL for Protein Database Search on NVIDIA, AMD, and Intel GPUs(2023)