Usage of GPU Based Streaming Architecture for Solving Computational Problems
The objective of this diploma thesis is to describe the use of commodity GPUs for generalpurpose computation. An important feature of this hardware is its parallel streaming architecture which provides high throughput computation. Regarding a special kind of algorithms, computation using commodity GPUs can be much faster than using commodity CPUs. Due to this computational power GPUs can be a low cost alternative to specialized hardware such as a field-programmable gate arrays (FPGA), although the former are not quite reaching the same performance. In addition, the programming complexity of GPUs and the required expertise are much lower compared to special-purpose hardware. To explain the potentials of this technology, an introduction into general-purpose programming using graphics hardware (GPGPU) is given. Furthermore, a computational problem from the field of bioinformatics is mapped to the GPU, implemented and investigated. The algorithm that is investigated in the practical part is based on the Smith-Waterman algorithm (Smith & Waterman 1981) which was enhanced by Gotoh (1982). The most challenging aspect of GPGPU is to map the algorithm onto computer graphics primitives like textures, triangles, and pixels. The algorithm also has to fit into the grid structure of pixelbuffers and it must be suitable for parallel computation. The latter requires elements of a data stream that get computed by several processors in parallel to be independent from each other. The implementation of the mentioned algorithm as well as its performance results are discussed. A comparison of the GPU performance results to those results of a CPU reference implementation shows a performance improvement of up to one hundred percent. The performance can even be improved by further optimization.
GPU, GLSL, graphics card, GPU programming, OpenGL, Shading Language, shaders
Link zur Veröffentlichung