A Performance Comparison of CUDA and OpenCL

Kamran Karimi, Neil G. Dickson, Firas Hamze
D-Wave Systems Inc., 100-4401 Still Creek Drive, Burnaby, British Columbia, Canada, V5C 6G9
arXiv:1005.2581v2 [cs.PF] (14 May 2010)


   title={A Performance Comparison of CUDA and OpenCL},

   author={Karimi, K. and Dickson, N.G. and Hamze, F.},

   journal={Arxiv preprint arXiv:1005.2581},



Download Download (PDF)   View View   Source Source   




CUDA and OpenCL offer two different interfaces for programming GPUs. OpenCL is an open standard that can be used to program CPUs, GPUs, and other devices from different vendors, while CUDA is specific to NVIDIA GPUs. Although OpenCL promises a portable language for GPU programming, its generality may entail a performance penalty. In this paper, we compare the performance of CUDA and OpenCL using complex, near-identical kernels. We show that when using NVIDIA compiler tools, converting a CUDA kernel to an OpenCL kernel involves minimal modifications. Making such a kernel compile with ATI’s build tools involves more modifications. Our performance tests measure and compare data transfer times to and from the GPU, kernel execution times, and end-to-end application execution times for both CUDA and OpenCL.
Rating: 1.5/5. From 2 votes.
Please wait...

* * *

* * *

* * *

HGPU group © 2010-2022 hgpu.org

All rights belong to the respective authors

Contact us: