A comparison of xPU platforms exemplified with ray tracing algorithms
Over the years, faster hardware - with higher clock rates - has been the usual way to improve computing times in computer graphics. Aside from highly costly parallel solutions only affordable by big industries - like the movie industry -, there was no alternative available to desktop users. Nevertheless, this scenario is dramatically changing with the introduction of more and more parallelism in current desktop PCs. Multi-core CPUs are a common basis in current PCs and the power of modern GPUs - which have been multi-core for a long time now - is getting unveiled to developers. nVidia's CUDA is a powerful weapon to explore GPUs parallelism. Yet, its specific target - nVidia graphic cards only - does not provide any solution to other parallel hardware present. OpenCL is a new royalty-free cross-platform intended to be portable across different hardware manufacturers or even different platforms. In this paper we focus on a comparison of advantages and disadvantages of xPU platforms with OpenCL and CUDA in terms of time efficiency. As an example application we use ray tracing algorithms. Three kinds of ray tracers have to be developed in order to conduct a fair comparison: one is CPU based, while the other two are GPU based - using CUDA and OpenCL, respectively. At the end, a comparison is done between them and results are presented and analyzed showing that the CUDA implementation has the best frame rate, but is very closely followed by the OpenCL implementation. Visually, results are identical, showing the high potential of OpenCL as an alternative for CUDA with identical performance.
Fellner, Dieter W.