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

在虛擬異質性平台上做OpenCL應用程式評估

Evaluating OpenCL Applications with Heterogeneous Virtual Platforms

指導教授 : 洪士灝

摘要


在異質性系統架構中,現今的電腦系統結合了多核心的中央處理單元(CPU)和多重的硬體加速處理器(Accelerator)來更有效率的執行應用程式。當異質性系統架構快速地變成一種主流時,各種不同種類的處理器例如圖形處理單元(GPU)、現場可程式邏輯門陣列(FPGA)和數位訊號處理器(DSP),也已經被廣泛的使用在特定應用程式的運算藉以提昇整體系統的效能。 開放式計算語言(OpenCL)提供了一個公開的標準框架,讓開發著可以利用各種不同種類的處理器來當作運算裝置。為了能夠幫助異質性系統架構的設計與OpenCL應用程式的分析,我們開發了一個異質性的虛擬平台。除此之外,作業系統在系統中扮演著系統程式的排程、檔案系統的管理、I/O的操作與電腦系統的網路,所以在執行數據密集的OpenCL應用程式時,我們認為一個完整系統層級的模擬環境也相當重要。 在本篇論文中將會介紹一個異質性的虛擬平台,我們可以在這個異質性虛擬平台上面做OpenCL應用程式的執行,這個平台上面包含模擬了多核心的中央處理器(multi-core CPU)和圖形處理器(GPU)。另外,我們也開發了一個在虛擬平台上的平行追蹤及效能剖析工具(PSET),PSET可以讓OpenCL應用程式的開發者藉由我們的平台提供的圖形展示分析界面作分析及優化。最後,我們藉由分析OpenCL的應用程式來展示我們這個平台的實用與幫助。我們的異質性虛擬平台,讓OpenCL應用程式開發者或是系統架構設計者可以針對系統作全面的分析與最佳化。

並列摘要


With a heterogeneous architecture, a modern computer systems combines multi-core CPUs and multiple accelerator cores to perform applications efficiently. As heterogeneous system architectures rapidly become the mainstream, various types of processors such as GPUs, FPGAs and DSPs, can be chosen to optimize a system for specific applications. OpenCL provides a standard framework for leveraging different types of processors as a computing device. To aid the design of heterogeneous systems and the evaluation of the OpenCL applications, we develop a heterogeneous virtual platform. Since operating system is responsible for task scheduling, file systems, I/O operations, and networking, we believe a full-system emulation is essential for evaluating data-intensive OpenCL applications. In this thesis, we describe a heterogeneous virtual platform with multi-core CPUs and GPUs for executing the OpenCL applications. Furthermore, we developed an event-driven performance analysis toolkit, PSET, for performance profiling of OpenCL applications on the virtual platform. We demonstrate how our heterogeneous virtual platform works by analyzing the OpenCL applications with the help from graphical visualization and show that our framework are useful tools for system-wide optimization for developers and architects.

參考文獻


[1] “Opencl: The open standard for parallel programming of heterogeneous systems.” http:
framework for cpu-gpu computing,” pp. 335–344, 2012. [Online]. Available:
http://doi.acm.org/10.1145/2370816.2370865
[3] “The khronos group.” http://www.khronos.org/.
[5] “Evergreen family instruction set architecture reference guide,” http://developer.amd.

延伸閱讀