論文使用權限 Thesis access permission:校內外都一年後公開 withheld
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available
論文名稱 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 |