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

核融合:從Halide到OpenCL

Kernel Fusion: from Halide to OpenCL

指導教授 : 廖世偉

摘要


在影像處理的領域裡,有很多演算法是需要對同一張影像執行同一 份核代碼多次。針對此類型演算法,在核代碼之間會有額外負擔產生。 我們可以使用核代碼融合來消除這些額外負擔。 Halide 目前已經提供一種方式來實現核代碼融合,但是此種方法 會增加多餘的計算以及多餘的像素存取。我們介紹了另外一種不需要 增加多餘計算以及多餘像素存取的方式來實現核代碼融合,希望讓 Halide 可以加進 OpenCL 代碼生成機制來提升核代碼融合的效能。

並列摘要


In image processing area, there are many algorithms that will need to ex- ecute their algorithm multiple times to one image. To this kind of algorithms, there will be redundant overheads between kernels. We can apply kernel fu- sion to eliminate these overheads. Halide now provides a way to do kernel fusion, but using this way will cause redundant works and redundant pixels accessed. We introduce another way to perform kernel fusion without redundant works in order for Halide to add this way to OpenCL CodeGen and improve the performance of kernel fusion.

並列關鍵字

OpenCL image processing Halide

參考文獻


[1] Pekka Jaaskelainen, Carlos Sanchez de La Lama, Erik Schnetter, Kalle Raiskila,
Jarmo Takala, Heikki Berg. Clang: A c language frontend for llvm. 2014.
[2] Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Fredo Du-
rand, Saman Amarasinghe. Halide: A language and compiler for optimizing paral-
lelism, locality, and recomputation in image processing pipelines. PLDI 2013, 2013.

延伸閱讀


國際替代計量