張鈞法Chun-Fa, Chang張潘立Pan-Li, Chang2019-09-052013-8-132019-09-052013http://etds.lib.ntnu.edu.tw/cgi-bin/gs32/gsweb.cgi?o=dstdcdr&s=id=%22GN060047004S%22.&%22.id.&http://rportal.lib.ntnu.edu.tw:80/handle/20.500.12235/106532現今使用GPU(圖形運算單元)協助CPU(中央運算單元)運算已經是常見的程式優化方式,GPU藉由其核心數遠大於CPU並且可進行SIMD(Single instruction, multiple data)平行運算之優勢可以大幅度的提升程式的效能。 OpenCL(Open Computing Language)則是一種異構性平台撰寫之框架,由於這是一個開放性的規範,因此各大廠牌之GPU與CPU皆有針對OpenCL框架下進行實作甚至已經有部分嵌入式系統的圖形處理器與中央處理器也逐漸開始支援,本篇研究即是以OpenCL平台下各個不同廠牌之CPU&GPU之運行為題,能夠找出優化各個硬體裝置於OpenCL平行化程式的一些方法與經驗。 光追蹤是計算機圖學中一項非常泛用的技術,主要是以追蹤從眼睛開始灑出去無數的光線束藉以去嘗試碰撞空間中的立體物件,並經由一系列的物理模擬計算(如反射、折射、光影與其他……),最後轉為每個點的顏色並產生呈現在眼睛上的影像。然而此種演算法的特色因為要灑出龐大的光線束量,並且幾乎都是獨立作業的方式分別運行計算,因此該演算法很符合使用OpenCL平行運算的特性,但是其中OpenCL還是有諸多使用上的條件與限制,這些會在本篇會有更詳細的說明。 最後能藉由本篇論文能分享一些使用OpenCL平行化運算優化程式設計技巧以及設定相關參數的微調,以達到更好的效能。光追蹤跨平台開放計算語言計算機圖學優化通用圖形處理器中央處理器平行計算Ray tracingHeterogeneous platformsOpenCLComputer graphicOptimizationGPGPUCPUParallel computing優化在異構性平台的OpenCL程式撰寫架構 -以光追蹤為例Optimization of OpenCL Programming Structure On Heterogeneous Platforms– A Case Study of Ray Tracing