透過您的圖書館登入
IP:3.142.124.252
  • 學位論文

應用於行動繪圖處理器的著色語言編譯器後端之暫存器配置與指令調度研究探討

Shading Language Compiler Backend for a Mobile GPU: Case Study on Register Allocation and Code Scheduling

指導教授 : 廖世偉
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


今日3D電腦繪圖越來越顯得重要,電腦遊戲、虛擬實境等廣泛的使用3D電腦繪圖。對於電腦及行動裝置上,3D繪圖加速已經是一個必備的功能。 繪圖處理器的產生代表者GPU接管了幾乎所有3D繪圖相關的工作,在新一代的繪圖處理器中, 甚至提供了可程式性以應付更複雜的效果需求。著色語言便是提供繪圖處理器可程式化的關鍵,它抽象化了硬體同時提供更多彈性 程式設計師因此不必使用組合語言來對繪圖處理器寫作程式 著色語言編譯器將著色語言轉成硬體的執行格式。我們開發了一個針對OpenGL ES著色語言與Media IC & System and DSP IC 實驗室開發的行動繪圖處理器的著色語言編譯器。 此論文中,我們敘述了該著色語言編譯器的實作,並對相關硬體的後端作了探討,我們針對該繪圖處理器的架構提出了最佳化方法-在指令調度方面,編譯器實作了資料前饋的偵測與程式碼的產生,另外針對著色語言與硬體特性亦提出了一個暫存器配置方法,目前實驗結果顯示最高可以省下28%的使用量

並列摘要


3D computer graphic has become more and more important today, applications like games, virtual reality and so on prevail the way for 3D computer graphic. Accelerator for 3D Graphic has become a necessary component in computer and mobile device. GPU is the new name of graphic hardware since it has taken nearly all workload of 3D graphic processing form CPU. As the evolution of GPU, programmability is now provided for more complex computation. Shading language is the key to release the power of GPU programmability. It provides the high hardware abstraction and more flexibility programmability rather than programming GPU in low-level hardware related assembly. Shading language compiler translates shader codes to low level instructions. We have developed an OpenGL ES shading language compiler for a mobile GPU developed by Media IC & System and DSP IC Lab at NTU. In this thesis, we describe the compiler we have done and study the backend of shading compiler for the mobile GPU hardware. Optimization methods are proposed to improve the performance of current hardware. Code scheduling in compiler detects data forwarding and generates code to use hardware forwarding path. Register allocation supports packing to use remain part of vector type in shading language. In current experiment, at most 28% register usage can therefore shrink.

並列關鍵字

shading language compiler GPU

參考文獻


[2] Samuel Larsen, Saman Amarasinghe ,“Exploiting superword level parallelism with multimedia instruction sets,” ACM SIGPLAN Notices, Volume 35 , Issue 5, pp. 145-156 ,2000.
[3] William R. Mark, Kekoa Proudfoot ,“Compiling to a VLIW fragment pipeline,” in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware ,pp. 47 - 56, 2001.
[4]William R. Mark, R. Steven Glanville, Kurt Akeley, Mark J. Kilgard ,”Cg: a system for programming graphics hardware in a C-like language,” ACM Transactions on Graphics (TOG), Volume 22 , Issue 3, July 2003.
[5]Marc Olano, Anselmo Lastra ,“A programmable pipeline for graphics hardware,” UMI Order Number: AAI9840971, The University of North Carolina at Chapel Hill ,1998
[8]Michael D. McCool ,Zheng Qin Tiberiu S. Popa ,”Shader metaprogramming,” in Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 57-68, 2002.

延伸閱讀