Gašper Forjanič (2010) Using graphics processing unit as a general purpose processor. EngD thesis.
Abstract
Over the past few years, we have seen an exponential performance boost of the graphics processing unit (GPU) compared to the central processing unit (CPU). Reason for that are larger and more detailed textures, photorealistic effects and high display resolutions, which require parallel processing of large amounts of data. This caused the GPU to evolve into the general purpose processor (GPP). We took a look at the GPE architecture on the latest and previous generations of NVidia GPUs and the multi-GPU solution for linking two or more graphics cards (Scalable Link Interface - SLI). As an example of GPU performance, we pointed out hardware anti-aliasing technique, which is one of the most processor demanding graphics operations. We examined the CUDA programming model and used the acquired knowledge to write an example of a program using the CUDA model. CUDA is based on programming language C / C++, so the learning curve for experienced C programmer is quick and efficient. There may be difficulties with memory optimizations and with finding the best suitable number of blocks and threads. The purpose of this dissertation is to test the GPU performance within the CPU application domain using benchmark applications on Windows and Linux operating system. The test equipment was based on three Intel CPUs (Q6600, i7 920 and i7 980X) and two NVidia GPUs with low-end GeForce 8400GS and high-end GeForce GTX 295.
Actions (login required)