CPU and GPU Consolidation Based on OpenCL

A. V. Bogdanov, I. G. Gankevich, V. Yu. Gaiduchok, Pyae Sone Ko Ko

The use of GPU for general-purpose computing is a relatively new and promising direction. The use of GPUs as vector accelerators becomes more and more popular, but different vendors offer their own API and languages. As a result, transition from one platform to another sometimes requires enormous code changes. The answer to this problem is OpenCL [1]. All major CPU and GPU manufacturers created their own implementations for their devices. OpenCL is the open standard for parallel programming of heterogeneous computations.

This report discusses questions on organization of computing with OpenCL. First, we will talk about advantages and disadvantages of CPU and GPU computing. Then test results will be shown, we will represent algorithms that have significant speedup using GPGPU computations. At last, some examples of applications and libraries that use OpenCL will be discussed. Special attention is paid to generation of a proper operational environment for such heterogeneous computations. We argue that virtualization is crucial for proper load balancing. All calculations were performed on a hybrid cluster of SPbSU computing center. Its nodes contain a NVIDIA Tesla S2050 system that was developed specifically as a GPGPU unit. Such devices provide substantial speedups for scientific calculations [2].

  title={CPU and GPU Consolidation Based on OpenCL},
  author={A. V. Bogdanov and I. G. Gankevich and V. Yu. Gaiduchok and Pyae Sone Ko Ko},
  howpublished={Book of abstracts of GRID'12},

Publication: Book of abstracts of GRID'12