Posted by & filed under 開発.


After coming so far in technological advancements in computers we have hit the wall for the maximum amount of performance we can extract from a single core cpu and hence the multi core cpu’s have taken the helm bringing into picture the concept of parallel programming, solving many scientific problems which has intrigued a lot of minds in past. But there exists another device which possesses far greater performance in terms of multithreading leading to the democratization of parallel computing, namely the Graphics Processing Unit or the GPUs. GPU Computing has truly brought data-parallel computing to the masses making the massively parallel computing a commodity technology.

The term GPU Computing is the use of a GPU (Graphics Processing Unit) together with CPU’s to accelerate general-purpose scientific and engineering applications. What makes the GPU’s so powerful are its massively multithreaded multicore chips supporting a lot of parallel threads and giving it a edge over CPU’s and making it possible to use GPU Computing in accelerating a range of scientific applications.

GPU computing offers unprecedented application performance by offloading compute-intensive portions of the application to the GPU, while the remainder of the code still runs on the CPU. We use this hybrid, powerful combination because CPUs consist of a few cores optimized for serial processing while GPUs consist of thousands of smaller, more efficient cores designed for the sole purpose of parallel performance. Serial portions of the code run on the CPU while parallel portions run on the GPU.

The implementation of Parallel algorithms on GPUs has been made real easy by CUDA and OpenCL. CUDA (Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVDIA and implemented by the GPU that they produce whereas OpenCL (Open Computing Language) is a framework for writing program that executes across heterogenous platforms consisting of CPUs, GPUs and other processors.

So, supercomputers for masses are no longer a dream but a achievable reality. The only things you need are desire, a little bit of money and a lot of innovation.

More reading, references and getting started Guides:

http://en.wikipedia.org/wiki/Graphics_processing_unit
http://en.wikipedia.org/wiki/Heterogeneous_computing
http://en.wikipedia.org/wiki/OpenCL
http://en.wikipedia.org/wiki/CUDA
https://developer.nvidia.com/get-started-cuda-cc
http://www.nvidia.com/object/SC09_Tutorial.html
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/introductory-tutorial-to-opencl/


関連文書:

  • 関連文書は見つからんがな

Comments are closed.