Font Size: a A A

CUDA Architecture-based High-performance Image Processing Program Design

Posted on:2015-09-29Degree:MasterType:Thesis
Country:ChinaCandidate:L ZhangFull Text:PDF
GTID:2308330473954574Subject:Software engineering
Abstract/Summary:PDF Full Text Request
High-performance computing, named super-computing, means to finish multiple computing task in as short time as possible. Cloud computing is a newly proposed therapy in recent years, means to apply distributed computing in a new way, and use multiple computing resources connected by network to work together, and so can provide high-performance services to the users. In nature, cloud computing is a new way to fit high-performance computing. So, we can come to a conclusion that, researching high-performance is very important for theory studying and applying.The powerful computing capability and fast development make people considering using GPU for general-purpose high-performance computing automatically. Compute Unified Device Architecture(CUDA) is the interface of the general computing program and the hardware resources. It is developed by NVIDIA for its GPU product. CUDA has the advantage of high parallelism, high bandwidth, cost-effective and easy programming. Based on these advantages, applying CUDA to general-purpose high-performance computing becomes a hot issue in recent years, and developed very fast in application.However, CUDA has many merits as described above, it still has many limitations, such as that, CUDA cannot manage multi-branch and low parallelization applications efficiently, and it is not fit for integrate data type. On the other hand, the way and level of dividing task may affect the performance of the application deeply. Difference of programming style also limited its application in general-purpose high-performance computing.To solve the problems in the application of CUDA in general-purpose high-performance computing, from the view point of meeting demand of practical application, this article researched how to divide the image process task into small ones that can be executed parallel, and how to separate the computing tasks from control tasks, so that, the program can fit the workflow of CUDA, and enhance the performance of the whole system further.This article introduced the concept of high-performance computing and cloud computing first, and the development of GPU based high-performance computing. On this basis, the feature of GPU programming under CUDA and optimization was researched. At last, a fast image interpolation procedure and a fast image filter procedure were completed using CUDA C language, developed an integrated test platform. Experiment data show that image processing system using CUDA to realize has a better performance.
Keywords/Search Tags:High-performance computing, CUDA, task dividing, GPU programming, High-performance image processing program
PDF Full Text Request
Related items