帳號:guest(3.139.105.18)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):蔡承翰
作者(外文):Tsai, Cheng Han
論文名稱(中文):用於具有專業化常數的OpenCL編譯器中併入仿射常數傳播方案
論文名稱(外文):Incorporate Affine Constant Propagation Schemes in Compilers for OpenCL with Specialization Constant
指導教授(中文):李政崑
指導教授(外文):Lee, Jenq-Kuen
口試委員(中文):蘇泓萌
陳呈瑋
口試委員(外文):Su, Hong-Men
Chen, Cheng-Wei
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊系統與應用研究所
學號:104065530
出版年(民國):106
畢業學年度:105
語文別:英文
論文頁數:41
中文關鍵詞:常數傳播仿射常數OpenCL專業化常數
外文關鍵詞:constant propagationaffine constantOpenCLspecialization constant
相關次數:
  • 推薦推薦:0
  • 點閱點閱:534
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
常數傳播是編譯器分析與優化傳統程式碼的重要方法之一。它主要是透過分析變數的值並且透過精準的值來取代變數,以達到減少程式碼和執行時間的效果。隨著多核心處理器的發展,平行化程式語言已成為程式語言發展的主流。但是,因為平行化程式語言具有single instruction, multiple thread(SIMT)的特性,這種特性會造成傳統的常數傳播在分析平行化程式語言時受到很大的限制。此外,由於很多專業化常數都會與具有這種特性的變數進行運算,這會大幅的降低優化效果。這些都使得這個問題顯得相當重要。這篇論文就是要增加常數傳播在平行化程式平行程式的優化能力。我們使用仿射常數來表示在平行程式中具有SIMT特性的變數。這個方法可以同時表示純量常數與具有SIMT特性的變數。如此,我們便能增加常數傳播分析平行化程式的能力。實驗數據顯示仿射常數傳播有很大的效果。不論是在分析程式中的變數的能力或是減少程式碼的能力,在平行化程式上仿射常數傳播都比傳統常數傳播來得優異。
Constant propagation is one of the important processes of compiler anal- ysis and optimization for traditional programs. It reduces the number of codes and the execution time by analyzing the value of the variable and replacing it with the accurate value. With the development of multi-core processors, parallel programming languages have become the mainstream of programming. Since the parallel program has single instruction, multi- ple thread(SIMT) properties, the traditional constant propagation of code optimization is very limited. In addition, the optimization e ciency of spe- cialization constant will be greatly reduced because many of the variables operated with variables that have SIMT characteristic. This will make the problem even more serious. This thesis enhances the capability of constant propagation in parallel programs. We use the a ne constant to represent the special variables in the parallel program that has SIMT properties. This method can represent both the scalar constant variables and the variables with SIMT characteristics. In this way, we can improve the analytic ability of the constant propagation in parallel programs. Experimental results indi- cate that a ne constant propagation has made significant progress. A ne constant propagation is more outstanding than the traditional constant prop- agation in terms of the amount of variables which can be handled and the ability to decrease line of codes. Experimental results represent that this method reduces the code size by 13.59%, improves performance by 7.65%, and reduces the energy consumption by 8.31%.
1 Introduction ...1
1.1 Introduction ...1
1.2 Overview of the thesis ...2
2 Background and Motivation ...5
2.1 OpenCL ...5
2.2 Specialization constant ...6
2.3 GPGPUSim with LDAFF instruction ...7
2.4 Motivating example ...8
3 Affine Constant Propagation ...11
3.1 Affine constant representation ...11
3.1.1 Represent method ...11
3.1.2 New instruction ...12
3.2 Affine constant propagation rules ...13
3.2.1 Affine constant propagation variable value type ...13
3.2.2 Affine constant propagation inference rules ...15
3.3 SSA form algorithm ...19
3.4 Running example ...25
4 Experiment Results ...30
4.1 Experimental environment ...30
4.2 Experiments result ...31
5 Conclusion ...37
5.1 Summary ...37
5.2 Future work ...38
[1] J. Cocke, “Global common subexpression elimination,” in ACM Sigplan Notices, vol. 5, no. 7. ACM, 1970, pp. 20–24.
[2] J. Knoop, O. Ru ̈thing, and B. Ste↵en, Partial dead code elimination. ACM, 1994, vol. 29, no. 6.
[3] M. N. Wegman and F. K. Zadeck, “Constant propagation with condi- tional branches,” ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 13, no. 2, pp. 181–210, 1991.
[4] D. Callahan, K. D. Cooper, K. Kennedy, and L. Torczon, “Interproce- dural constant propagation,” in ACM SIGPLAN Notices, vol. 21, no. 7. ACM, 1986, pp. 152–161.
[5] J. E. Stone, D. Gohara, and G. Shi, “Opencl: A parallel programming standard for heterogeneous computing systems,” Computing in science & engineering, vol. 12, no. 3, pp. 66–73, 2010.
[6] J. Nickolls, I. Buck, M. Garland, and K. Skadron, “Scalable parallel programming with cuda,” Queue, vol. 6, no. 2, pp. 40–53, 2008.
39
BIBLIOGRAPHY 40
[7] S. Wienke, P. Springer, C. Terboven, and D. an Mey, “Openaccfirst experiences with real-world applications,” in European Conference on Parallel Processing. Springer, 2012, pp. 859–870.
[8] C. Lattner and V. Adve, “Llvm: A compilation framework for lifelong program analysis & transformation,” in Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization. IEEE Computer Society, 2004, p. 75.
[9] A. Bakhoda, G. L. Yuan, W. W. Fung, H. Wong, and T. M. Aamodt, “Analyzing cuda workloads using a detailed gpu simulator,” in Perfor- mance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on. IEEE, 2009, pp. 163–174.
[10] J. Leng, T. Hetherington, A. ElTantawy, S. Gilani, N. S. Kim, T. M. Aamodt, and V. J. Reddi, “Gpuwattch: enabling energy optimizations in gpgpus,” in ACM SIGARCH Computer Architecture News, vol. 41, no. 3. ACM, 2013, pp. 487–498.
[11] K. O. W. Group. (2017, May) The opencl c++ 1.0 specification. [Online]. Available: https://www.khronos.org/registry/OpenCL/specs/opencl- 2.2-cplusplus.html
[12] (2015) Compubench cl. COMPUBENCHCL. [Online]. Available: https://compubench.com
[13] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell, “Ca↵e: Convolutional architecture for fast feature embedding,” in Proceedings of the 22nd ACM international
conference on Multimedia. ACM, 2014, pp. 675–678.
[14] K. Krommydas, W.-c. Feng, C. D. Antonopoulos, and N. Bellas, “Opendwarfs: Characterization of dwarf-based benchmarks on fixed and reconfigurable architectures,” Journal of Signal Processing Systems, vol. 85, no. 3, pp. 373–392, 2016.
[15] Nvidia, “Ptx: Parallel thread execution isa,” 2015. [Online]. Available: http://docs.nvidia.com/cuda/parallel-thread-execution/
(此全文未開放授權)
電子全文
中英文摘要
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *