Content area
Full text
Abstract - Nowadays a technique of using graphics process-ing units (GPUs) for general-purpose computing (or GPGPU) is becoming more and more widespread. The goal of this pa-per is to analyze efficiency of computing with use of the GPGPU technique, depending on several factors. In this pa-per, there are analyzed differences in performance and plat-form organization between widespread GPGPU computa-tional platforms (both hardware and software). There are also described differences between CPU and GPU computations, as well as presented performance measurements for some GPGPU hardware architectures. This paper can help soft-ware developers choose more appropriate ways to implement specific fairly large computational tasks.
Keywords: graphics processing units (GPUs), general-purpose computing on graphics processing units (GPGPU), OpenCL
1 Introduction
Many modern computers (approximately since 2006) have video cards that can be used not only for performing calculations connected with graphics, but also for arbitrary (even not related with graphics) calculations. Such technique of using graphic processing units for general-purpose calcula-tions is called general-purpose computing on graphics proc-essing units (GPGPU).
Therefore, nowadays (in contrast to a period of several years before) most processing systems belong to one of the following two classes:
- central processing units (CPUs),
- graphics processing units (GPUs).
In order to use GPUs for computations, it is needed to write a program which uses a specific GPGPU programming model and architecture. Nowadays there exist several GPGPU platforms, which implement some different programming models and/or architectures; most notable of them include NVIDIA CUDA, OpenCL, MicrosoftDirectCompute, ATI Stream.
For some kind of applications (usually for those which are multi-threaded and/or parallel), the use of general-purpose computations on modern GPUs can achieve speeds way be-yond that on modern CPUs. Therefore, the use of graphics processing units for general-purpose computations is a topical sphere of research nowadays. The goal of this paper is to analyze efficiency of computing with use of GPGPU tech-nique, depending on several factors, including target process-ing units, as well as GPGPU platforms themselves.
When speaking about the efficiency of GPGPU plat-forms, the thing that should be considered first is execution speed of programs which use the GPGPU technique. This mostly depends on specific processing units used for calcula-tions, but also on a specific GPGPU platform architecture and programming model.
In this paper,...




