Font Size: a A A

Cuda For High-performance Computing

Posted on:2009-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:L TianFull Text:PDF
GTID:2198330332978556Subject:Applied Mathematics
Abstract/Summary:PDF Full Text Request
With the increasing of the computing capability and programmability of GPUs, the application of GPUs is beyond the graphics field. GPUs have been used for High-Performance Computing which requires very strong computing power. Facing the development of GPUs and multi-cores, the traditional serial programming model cannot meet the requirements. Now both the academic and the industrial communities are searching for a new parallel programming model, which can be used to resolve the HPC problem by GPUs and CPUs effectively. CUDA is a new GPU general programming model with the release of the uni-fied shading architecture by NVIDIA corporation. CUDA bypasses the graphics pipeline, and it is a kind of multithread encapsulation of GeForce 8 series hardware. Users can use the CUDA API very easily to program parallel algorithms effectively by the Thread-Level parallelism. CUDA is a minimal extension to the C programming language, and this property reduces the learning curve of C programmers. This thesis introduces the CUDA programming model and its implementation details. The thesis implements a real-time ray tracing algorithm as the application of CUDA programming. The render can generate pho-torealistic scenes with the reflection effect. In addition, the thesis uses CUDA to design a MD5 encoder which encodes plenty of messages in parallel very quickly. By these bench-marks, we can get the performance and the speedup of CUDA. Finally, the thesis summa-rizes the CUDA for its advantages and disadvantages. The thesis ends with the future work which is to unify CPUs and GPUs together effectively and provide more powerful parallel programming models.
Keywords/Search Tags:CUDA, HPC, Programming Model, RayTracing, MD5
PDF Full Text Request
Related items