Responsive image
博碩士論文 etd-0727110-153900 詳細資訊
Title page for etd-0727110-153900
論文名稱
Title
應用於圖像處理器平行運算之C程式語言擴充設計與實作
Design and Implementation of C Programming Language Extension for Parallel GPU Computing
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
35
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2010-07-23
繳交日期
Date of Submission
2010-07-27
關鍵字
Keywords
多執行緒、統一運算架構、平行化程式、圖像處理器
CUDA, Multi-Thread, Parallelization, GPU
統計
Statistics
本論文已被瀏覽 5691 次,被下載 3031
The thesis/dissertation has been browsed 5691 times, has been downloaded 3031 times.
中文摘要
NVIDIA於2006年開始發展以圖像處理器進行一般程式運算的技術,稱之為統一運算架構(CUDA,Compute Unified Device Architecture)。在該架構中,將單一指令 交由多個執行緒同時處理,具有平行化程式的優點,可大幅減少運算時間。CUDA提供一組與C語言相似的應用程式介面(API,Application Programming Interface),讓程式設計者方便上手,但仍需要一段開發時間。本論文提出將原本C程式自動翻譯為CUDA程式的方法,有效減少程式開發時間。
Abstract
NVIDIA developed a technique of executing general program on GPU, named CUDA (Compute Unified Device Architecture), in 2006. The CUDA programming model allows a group of same instructions to execute on multi-thread simultaneously, which has advantage of parallel programs in reducing the execution time significantly. Although CUDA provides a series of C-like APIs (Application Programming Interface) so that programmers can easy use CUDA language, it still costs certain efforts to be familiar with the development. In this thesis, we propose a tool to automatically translate C programs into corresponding CUDA programs which reduce program development time effectively.
目次 Table of Contents
List of Tables iii
List of Figures iv
Acknowledgments v
Chapter 1 導論1
1.1 研究動機......1
1.2 研究方法......2
1.3 論文架構......3
Chapter 2 相關研究4
2.1 CUDA(Compute Unified Device Architecture).. . 4
2.1.1 執行緒...... 4
2.1.2 記憶體架構.....5
2.2 OpenMP...... . 7
2.2.1 範例探討...... . 8
Chapter 3 研究方法10
3.1 問題描述......10
3.2 相關定義......10
3.2.1 函式轉換...... . 11
3.2.1.1 #pragma ctocuda kernel... . 11
3.2.1.2 #pragma ctocuda loop... . . 11
3.2.2 變數指標宣告..... . . . . 11
3.2.2.1 #pragma ctocuda var decl... 11
3.2.3 記憶體管理.....11
3.2.3.1 #pragma ctocuda mem alloc.. . . . . 11
3.2.3.2 #pragma ctocuda mem copy.. . . . . 11
3.2.3.3 #pragma ctocuda mem free..12
3.2.4 函式呼叫...... . 12
3.2.4.1 #pragma ctocuda kernel invoc.. . . . . 12
3.3 範例探討......12
3.3.1 原始C程式...... 12
3.3.2 CUDA程式...... 14
3.3.3 範例解說...... . 16
Chapter 4 實驗設定與結果17
4.1 實驗環境......17
4.2 執行流程......18
4.3 實驗結果......18
Chapter 5 結論與未來目標20
5.1 結論....... . . 20
5.2 未來目標......20
Appendix A Useful CUDA API 22
A.1 Memory Management..... 22
A.1.1 cudaMalloc()..... 22
A.1.2 cudaFree()..... . 23
A.1.3 cudaMemcpy()....23
A.2 Thread Management..... 24
A.2.1 cudaThreadSynchronize()...24
A.3 Device Management..... 24
A.3.1 cudaGetDeviceCount().... . 24
A.3.2 cudaGetDeviceProperties()...25
參考文獻 References
[1] http://www.nvidia.com.tw/page/home.html, “Nvidia.”
[2] http://openmp.org/wp/, “Openmp.”
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內外都一年後公開 withheld
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code