標題: OMP2OCL 轉換器︰可自動轉換 OpenMP 程式到 OpenCL 程式的轉換器
OMP2OCL Translator: A Translator for Automatic Translation of OpenMP Programs into OpenCL Programs
作者: 蔡宗展
Tsai, Tsung-Chan
單智君
Shann, Jyh-Jiun
資訊科學與工程研究所
關鍵字: OpenMP;OpenCL;轉換器;Cetus;CUDA;OpenMP;OpenCL;Translator;Cetus;CUDA
公開日期: 2010
摘要: 由於對高效能系統的需求,異質多處理器平台成為了一個趨勢。然而,跟同質多處理器平台相比,異質多處理器平台難以程式化且多樣化。Knronos Group 近年來釋出了 OpenCL 標準,它改善了異質多處理器平台程式的可攜性,然而使用 OpenCL 撰寫異質多處理器平台程式依然複雜且易出錯。在這篇論文內,我們設計且實作名為 OMP2OCL translator 的轉換器,它自動轉換 OpenMP 程式到 OpenCL 程式。在 OMP2OCL translator 內,我們延用且修改相關研究內的優化,來優化轉換出來的 OpenCL 程式。OMP2OCL translator鑒定出 OpenMP 程式內的核心區域,改變該核心區域成為 OpenCL 核心函式,且使用優化來改善轉換出來的 OpenCL 程式。此外,我們比較了由相關研究轉換出來的 CUDA 程式和由 OMP2OCL translator 轉換出來的 OpenCL 程式。雖然與針對 NVIDIA GPU 的相關研究相比,OMP2OCL translator 有效能損失,但 OMP2OCL translator 還是很有用,因為轉換出來的 OpenCL 程式並不限定使用 NVIDIA GPUs 為計算設備。
Heterogeneous multiprocessor platforms have become trends due to the need for high-performance systems. However, it is harder to program them than homogeneous multiprocessor platforms and there are various heterogeneous multiprocessor platforms in the world. Although newly-released OpenCL (Open Computing Language) standard from Khronos Group offers improves portability among heterogeneous multiprocessor platforms, programming such platforms using OpenCL is still complex and error-prone. In this thesis, we have designed and implemented a translator, called OMP2OCL Translator, which is for automatic source-to-source translation of OpenMP programs into OpenCL programs, in addition, we have reused and modified if necessary the optimizations from the related work to improve the OpenCL programs output from OMP2OCL translator. The translator identifies kernel regions of OpenMP programs, transforms and outlines the regions into OpenCL kernel functions, and does some optimization to improve the performance of the translated OpenCL programs. Moreover, we have compared the CUDA programs and the OpenCL programs output from the related work and OMP2OCL translator, respectively. Although there are performance losses for OMP2OCL translator compared to the related work designed dedicatedly for NVIDIA GPUs, it is still promising that the translated OpenCL programs can use other devices as compute devices other than NVIDIA GPUs.
URI: http://140.113.39.130/cdrfb3/record/nctu/#GT079755536
http://hdl.handle.net/11536/45881
Appears in Collections:Thesis


Files in This Item:

  1. 553601.pdf