研究生: |
陳兆銓 Chen, Chou-chuan |
---|---|
論文名稱: |
在異質系統架構平台上啟用OpenCL運行庫 Enabling OpenCL Runtime on HSA Platforms |
指導教授: |
李政崑
Lee, Jenq-Kuen |
口試委員: |
李政崑
Lee, Jenq-Kuen 游逸平 You, Yi-Ping 黃元欣 Hwang, Yuan-Shin |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2015 |
畢業學年度: | 103 |
語文別: | 英文 |
論文頁數: | 30 |
中文關鍵詞: | OpenCL 、OpenCL運行庫 、異質系統架構 、pocl |
外文關鍵詞: | OpenCL, OpenCL runtime, HSA, pocl |
相關次數: | 點閱:3 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近幾年,隨著多核心架構已漸漸無法在效能及功耗上符合需求,並且在手持式裝
置多媒體應用及高畫質影片的播放更使得顯示晶片(GPU) 的重要性日益增加。因
此,人們也越來越重視顯示晶片,因其在平行計算以及圖形處理的效率上較一般處
理器(CPU) 占有優勢。為了要能夠善用不同種類設備的運算資源,一個能用在異
質系統上的平行運算框架―OpenCL,越來越廣為人知。現今,OpenCL 在較重運
算的應用上,例如:人臉辨識、三維模型建模以及高畫質影片解碼。
在最近,HSA 基金會發布了異質系統架構,這個架構能使得不同種類的設備能
更有效率的協同運算,它能夠使不同種類的設備共用同樣的記憶體定址,並且能分
配工作給不同種類的設備,這使得OpenCL 能更有效率且功能更為強大。
在本論文裡,我們實做了一個能用在異質系統架構平台的OpenCL 運行庫,這
是透過擴充原本的pocl 架構並且加入了HSA 基金會釋出的官方編譯器來實現。
Pocl 是一個開源的OpenCL 框架,並且透過pthread 來實作。在實驗中,我們成
功通過了在AMD APP SDK 的幾乎所有範例,這也顯示了我們的運行庫能用在之
後OpenCL 更多功能的擴充以及之後的深入研究。
In recent years, as multi-core architecture could not feed the improvements
of performance and power eciency. Moreover, The entertainment
and multi-media applications in high resolution display of mobile device like
smart phones and tablets make the computation and graphics ability become
more and more important. Therefore, people began to focus on GPU, which
have parallel computing ability and ecient graphic capability.
To make good use of computing ability of dierent devices, OpenCL ,an
parallel programming framework for heterogeneous systems has become more
and more popular. Nowadays, it is used widely for compute-bound programs,
like face recognition, 3D model Reconstruction and high resolution video
decoding.
Recently, HSA Foundation standardize and release Heterogeneous System
Architecture(HSA). It is designed to integrate dierent kinds of computing
elements like CPUs and GPUs to work together eciently. HSA can make
dierent kinds of computing elements share the same memory address and
even dispatch tasks to each other even they are not the same kind, which
make OpenCL even more powerful and more ecient.
In this paper, we implement an OpenCL runtime that enable OpenCL
programs to run on HSA platforms. We extend pocl framework and integrate HSA compiler released by HSA Foundation to support OpenCL program to
execute on HSA platforms. Pocl(Portable Computing Language) is an open
source project to implement OpenCL framework paralleled by pthread In
our experiment, we show that almost all benchmarks in AMD APP SDK are
successfully passed by our OpenCL runtime. The runtime is enough robust
and support sucient features for advanced research.
[1] HSA Runtime Programmer's Reference Manual, HSA Foundation, 2014.
[2] J. Lee, J. Kim, S. S. S. Kim, J. Park, H. Kim, T. T. Dao, Y. Cho,
S. H. Lee, S. M. Cho, H. J. Song, S.-B. Suh, and J.-D. Choi, \An opencl
framework for heterogeneous multicores with local memory," in Proc.
ACM International Conference on Parallel Architectures and Compila-
tion Techniques(PACT'10), Sep. 11{15, 2010, pp. 193{204.
[3] R. Sakamoto, Y. Koizumi, H. Amano, H. Amano, and M. Namiki, \An
opencl runtime library for embedded multi-core accelerator," in IEEE In-
ternational Conference on Embedded and Real-Time Computing Systems
and Applications(RTCSA'12), Aug. 2012, pp. 419{422.
[4] J.-J. Li, C.-B. Kuan, T.-Y. Wu, and J. K. Lee, \Enabling an opencl
compiler for embedded multicore dsp systems," in 2012 41st International
Conference on Parallel Processing Workshops(ICPPW'12), Sep. 10{13,
2012, pp. 545{552.
[5] P. Jaaskelainen, C. S. de La Lama, E. Schnetter, K. Raiskila, J. Takala,
and H. Berg, \pocl: A performance-portable OpenCL implementation,"
International Journal of Parallel Programming, 2014. [Online]. Available:
http://dx.doi.org/10.1007/s10766-014-0320-y
[6] clang: a c language family frontend for llvm. Computer Science
Department at the University of Illinois at Urbana-Champaign. [Online].
Available: http://clang.llvm.org/
[7] The llvm compiler infrastructure. Computer Science Department at
the University of Illinois at Urbana-Champaign. [Online]. Available:
http://llvm.org/
[8] D. Steckelmacher. (2011) An opencl state tracker for gallium based on
clover. [Online]. Available: http://people.freedesktop.org/ steckdenis/-
clover/
[9] (2012) Accelerated parallel processing (app) sdk.
Advanced Micro Devices Inc. [Online]. Available:
http://developer.amd.com/tools-and-sdk/heterogeneouscomputing/
amd-accelerated-parallel-processing-app-sdk