GPU Sorting – The Benefits
The graphics processing unit or GPU has become an important part of most modern computer design. A GPU is a specialized form of processor that is implemented in a computer in order to ease the workload of the central processing unit or CPU. A GPU is also incorporated because, due to its design, it can perform certain graphics operations with greater efficiency than the more general purpose CPU. According to Denny Atkin, "More than 90% of new desktop and notebook computers have integrated GPUs" .
There are generally two forms of GPU, integrated and non-integrated. Integrated GPUs are found directly on the motherboard of a computer. Integrated GPUs are often cheaper than their non-integrated counterparts but that benefit is offset by performance. Often integrated GPU's are less powerful than non-integrated GPUs which are usually in the form of a graphics card. One recent example of a graphics card is the ATI Radeon HD 5970.
A graphics card consists primarily of two parts, memory and GPU. The memory is usually used to store information about each pixel (of a computer screen) until it is ready to be displayed. The GPU is similar to a CPU but it is specifically designed for performing complex geometric and mathematical calculations that are associated with graphics rendering.
GPUs can be classified, using Flynn’s taxonomy, under the single instruction, multiple data streams, or SIMD, classification of computer architectures. Generally, most common CPUs can be classified as single instruction, single data stream or SISD. Commonly SIMD is faster but less diverse, SISD is likely slower but more diverse. Thus it is often worthwhile to run certain tasks on a GPU rather than a CPU, rather graphics based or ...
... middle of paper ...
...osition Sort), and then running said algorithm in parallel, great performance enhancements can be achieved. Therefore a Graphics Processing Unit is not only a valid platform for sorting algorithms, it can excel in sorting.
A valid argument can be made that there are plenty of non-parallel algorithms that trump Bubble Sort in terms of computation time. While Heap Sort, Quick Sort, Radix Sort, and other advanced sorting algorithms can indeed, like the GPU based Odd-even Transposition Sort, destroy Bubble Sort sort times. This begs the question, how does the GPU based OETS fair against those advanced sorts?
The purpose of this paper however is not to demonstrate a superior sorting technique, rather, its purpose is to suggest that sorting algorithms can be ran on the GPU to great success. This suggests that GPUs have many applications beyond mere graphic operations.