簡易檢索 / 詳目顯示

研究生: 張潘立
Pan-Li, Chang
論文名稱: 優化在異構性平台的OpenCL程式撰寫架構 -以光追蹤為例
Optimization of OpenCL Programming Structure On Heterogeneous Platforms– A Case Study of Ray Tracing
指導教授: 張鈞法
Chang, Chun-Fa
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2013
畢業學年度: 101
語文別: 中文
論文頁數: 49
中文關鍵詞: 光追蹤跨平台開放計算語言計算機圖學優化通用圖形處理器中央處理器平行計算
英文關鍵詞: Ray tracing, Heterogeneous platforms, OpenCL, Computer graphic, Optimization, GPGPU, CPU, Parallel computing
論文種類: 學術論文
相關次數: 點閱:200下載:12
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 現今使用GPU(圖形運算單元)協助CPU(中央運算單元)運算已經是常見的程式優化方式,GPU藉由其核心數遠大於CPU並且可進行SIMD(Single instruction, multiple data)平行運算之優勢可以大幅度的提升程式的效能。
    OpenCL(Open Computing Language)則是一種異構性平台撰寫之框架,由於這是一個開放性的規範,因此各大廠牌之GPU與CPU皆有針對OpenCL框架下進行實作甚至已經有部分嵌入式系統的圖形處理器與中央處理器也逐漸開始支援,本篇研究即是以OpenCL平台下各個不同廠牌之CPU&GPU之運行為題,能夠找出優化各個硬體裝置於OpenCL平行化程式的一些方法與經驗。
    光追蹤是計算機圖學中一項非常泛用的技術,主要是以追蹤從眼睛開始灑出去無數的光線束藉以去嘗試碰撞空間中的立體物件,並經由一系列的物理模擬計算(如反射、折射、光影與其他……),最後轉為每個點的顏色並產生呈現在眼睛上的影像。然而此種演算法的特色因為要灑出龐大的光線束量,並且幾乎都是獨立作業的方式分別運行計算,因此該演算法很符合使用OpenCL平行運算的特性,但是其中OpenCL還是有諸多使用上的條件與限制,這些會在本篇會有更詳細的說明。
    最後能藉由本篇論文能分享一些使用OpenCL平行化運算優化程式設計技巧以及設定相關參數的微調,以達到更好的效能。

    附表目錄 V 附圖目錄 VI 第一章 緒論 1 1.1研究背景 1 1.2研究目的 2 1.3論文架構 2 第二章 文獻探討 3 2.1 光跡追蹤 Ray Tracing 3 2.2 基礎演算法分析 4 第三章 OpenCL優化架構 7 3.1 開放式計算語言OpenCL介紹 7 3.2 OpenCL使用條件與限制 10 3.2.1 硬體限制與需求 10 3.2.2 程式語言限制需求 12 3.3 OpenCL優化方針 13 3.3.1 通用性優化方針 14 3.3.2 CPU優化架構 15 3.3.3 GPU優化架構 16 第四章 相關技術實驗與結果 17 4.1 優化實驗目的 17 4.2 優化實驗設計與數據 17 4.2.1 向量化資料結構 18 4.2.2 分流 19 4.2.3 記憶體存取測試 23 4.2.4 記憶體種類使用 26 4.2.5 使用host-memory 29 4.3 結果與分析 30 第五章 Ray Tracer優化設計與結果 31 5.1 演算法流程剖析 31 5.2 實做優化與實驗數據 35 5.3 實驗結果與分析 40 第六章 結論與未來方向 42 6.1 結論 42 6.2 未來研究方向 42 參考文獻 48

    [Du12] P. Du, R. Weber, P. Luszczek, S. Tomov, G. Peterson, J. Dongarra:
    From CUDA to OpenCL: Towards a Performance-portable Solution for Multi-platform GPU Programming. Elsevier Science Publishers B. V. Amsterdam, 2012.
    [GHKMS11] B. Gaster L. Howes, D. R. Kaeli, P. Mistry, D. Schaa: Heterogeneous Computing with OpenCL. Morgan Kaufmann, 2011.
    [KH12] R. Karrenberg and S. Hack: Improving Performance of OpenCL on CPUs. Springer-Verlag Berlin, 2012.
    [MGMF11] A. Munshi, B. Gaster, T. G. Mattson, J. Fung, D. Ginsburg:OpenCL Programming Guide. Addison-Wesley, 2011.
    [Rei08] S. Reiter: Real–time Ray Tracing of Dynamic Scenes. Diploma Thesis, Institute for Graphics and Parallel Processing, Johannes Kepler University, 2008.
    [SK11] J. Sanders, E. Kandrot: Cuda by Example:An Introduction to General-purpose GPU Programming. Addison-Wesley, 2011.
    [Sca11] M. Scarpino: OpenCL in Action: How to Accelerate Graphics and Computations. Manning Publications, 2011.
    [Shi09] M. Shih, Y.-F. Chiu, Y.-C. Chen, C.-F. Chang: Real-Time Ray Tracing with CUDA. In ICA3PP ’09: Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing, pp. 327–337, 2009.
    [Suf07] K. Suffern: Ray Tracing from the Ground Up. A K Peters , 2007.
    [Wat99] A. Watt: 3D Computer Graphics. Addison Wesley, 1999.
    [Woo04] S. Woop: A Ray Tracing Hardware Architecture for Dynamic Scenes. Computer Graphics Lab, Saarland University, 2004.

    下載圖示
    QR CODE