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

移植計算語言於不同架構設備之開放計算語言與渲染腳本轉換器設計

O2render : A OpenCL-to-Renderscript Translator for Porting Across Various GPUs or CPUs

指導教授 : 廖世偉
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


現今世界中,數量極為龐大的Android設備可以說是一項最具影響力的系統。Google最近的Android版本中更是推出了Renderscript架構。 Renderscript為Android目前唯一官方的運算架構,提供了非常良好的效能與可攜性。但是如果要移植現有已經存在的其他運算架構例如OpenCL的程式到Android上,則必須要花費時間手動的改寫成Renderscript才可以享有相同的平行運算效果。 因此,我們提出了O2render系統讓現存的OpenCL程式可以自動的轉成Renderscript程式,藉此運行於Android系統之上。我們分析了OpenCL和Renderscript根本上的差異,並且藉由 low-level virtual machine(LLVM)的前端,Clang,來實作一個OpenCL到Renderscript的轉換器。

關鍵字

開放計算語言 Android OpenCL Renderscript Clang LLVM

並列摘要


400-million Android devices are arguably world`s most impactful real-time multimedia systems. Google introduced Renderscript language and runtime in recent Android releases. Renderscript delivers performance and portability without losing usability. However, it is difficult to reuse software written in existing compute languages such as OpenCL. Thus, we develop the O2render system to enable OpenCL programs on Android devices. We analyze fundamental differences between OpenCL and Renderscript, and present our design of a translator between them using low-level virtual machine (LLVM). We extend LLVM’s frontend, Clang, and show that we achieve about the same performance in Renderscript with minimal translation overhead.

並列關鍵字

Android OpenCL Renderscript Clang LLVM

參考文獻


[3] G. Diamos. The design and implementation ocelot ’ s dynamic binary translator
[8] M. J. Harvey and G. De Fabritiis. Swan: A tool for porting cuda programs to opencl.
Computer Physics Communications, 182(4):1093–1099, 2011.
performance and portability of opencl programs. Science And Technology,
[10] C. Lattner and V. Adve. Llvm: A compilation framework for lifelong program

延伸閱讀