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

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):陳兆銓
作者(外文):Chen, Chou-chuan
論文名稱(中文):在異質系統架構平台上啟用OpenCL運行庫
論文名稱(外文):Enabling OpenCL Runtime on HSA Platforms
指導教授(中文):李政崑
指導教授(外文):Lee, Jenq-Kuen
口試委員(中文):李政崑
游逸平
黃元欣
口試委員(外文):Lee, Jenq-Kuen
You, Yi-Ping
Hwang, Yuan-Shin
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:102062569
出版年(民國):104
畢業學年度:103
語文別:英文
論文頁數:30
中文關鍵詞:OpenCLOpenCL運行庫異質系統架構pocl
外文關鍵詞:OpenCLOpenCL runtimeHSApocl
相關次數:
  • 推薦推薦:0
  • 點閱點閱:409
  • 評分評分:*****
  • 下載下載:10
  • 收藏收藏: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 di erent 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 di erent kinds of computing
elements like CPUs and GPUs to work together eciently. HSA can make
di erent 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.
Abstract i
Contents iii
List of Figures v
List of Tables vi
1 Introduction 1
1.1 Introduction 1
1.2 Overview of the Thesis 2
2 Background 4
2.1 OpenCL Runtime Flow 4
2.2 HSA Runtime Flow 5
3 Introduction of Pocl Framework 7
3.1 Overview of Pocl 7
3.2 Pocl Implementation of OpenCL Object 8
3.2.1 Device Object 8
3.2.2 Bu er Object 8
3.2.3 Program Object 9
3.2.4 Kernel Object 9
4 HSA-Enabled OpenCL Runtime Design 10
4.1 OpenCL Environment Initialization 11
4.2 Memory Allocation 12
4.3 Programs and Kernels 13
4.4 AQL Format Initialization 15
4.5 Kernel Argument Initialization 17
4.6 Resource Release 19
5 Experiment Results 20
5.1 Experiment Environment 20
5.2 Experiment 21
6 Conclusion 27
6.1 Summary 27
6.2 Future Work 27
[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, ocl: 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
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *