Runtime Comparison of CPU and GPU Using Portable Programming Models
Franz Wiesinger
Abstract
Franz Wiesinger
Abstract
Since increasing clock speeds are not enough to speed up computation, there exist several alternative options. One of them is parallelism. For some problems it is possible to use the graphics processor as a massive parallel system and gain high speedups. Since NVIDIA introduced the unified device architecture and AMD switched to the OpenCL programming model it is possible for everyone to achieve high speedups through massive parallel systems easily. In this paper CUDA and OpenCL are introduced and differences are shown. To point out that graphics processor can be used for common tasks too, there is a comparison on runtime of two different test cases. The results show why the problem size is a very important factor for decisions to make use of the massive parallelism.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Since increasing clock speeds are not enough to speed up computation, there exist several alternative options. One of them is parallelism. For some problems it is possible to use the graphics processor as a massive parallel system and gain high speedups. Since NVIDIA introduced the unified device architecture and AMD switched to the OpenCL programming model it is possible for everyone to achieve high speedups through massive parallel systems easily. In this paper CUDA and OpenCL are introduced and differences are shown. To point out that graphics processor can be used for common tasks too, there is a comparison on runtime of two different test cases. The results show why the problem size is a very important factor for decisions to make use of the massive parallelism.
Key concepts: Computer science, Parallel computing, General-purpose computing on graphics processing units, CUDA, CPU shielding, Programming paradigm, Operating system, Central processing unit