Automatically translating image processing libraries to halide

Automatically translating image processing libraries to halide
复制标题

自动将图像处理库转换为 halide

DOI:
10.1145/3355089.3356549
复制
发表时间:
2019
影响因子:
6.2
通讯作者:
Kamil, Shoaib
Kamil, Shoaib
中科院分区:
计算机科学1区
文献类型:
--
作者:
Ahmad, Maaz Bin;Ragan-Kelley, Jonathan;Cheung, Alvin;Kamil, Shoaib

文献摘要

参考文献

被引文献

相似文献

本文介绍了Dexter,一个新的工具,自动翻译图像处理功能从低级通用语言到高级域特定语言(DSL),使他们能够利用DSL启用的跨平台优化。Dexter并没有构建一个经典的语法驱动编译器来进行这种翻译,而是利用了程序合成和程序验证方面的最新进展,沿着出现了一种新的特定于领域的合成算法,将C++图像处理代码翻译为Halide DSL,同时保证语义等效。这种新的合成算法可以扩展并推广到比以前的工作更大,更复杂的功能,包括在原始低级代码中处理平铺,条件和多级管道的能力。为了证明我们的方法的有效性,我们评估德克斯特使用Adobe Photoshop,一个广泛使用的多平台图像处理程序的真实世界的图像处理功能。我们的结果表明,Dexter可以翻译我们测试集中353个函数中的264个,原始实现的代码从20到150行不等。通过利用Halide的高级自动调度功能,与英特尔和ARM架构上的原始实现相比,Dexter转换函数的平均加速倍数分别为7.03倍和4.52倍。
This paper presents Dexter, a new tool that automatically translates image processing functions from a low-level general-purpose language to a high-level domain-specific language (DSL), allowing them to leverage cross-platform optimizations enabled by DSLs. Rather than building a classical syntax-driven compiler to do this translation, Dexter leverages recent advances in program synthesis and program verification, along with a new domain-specific synthesis algorithm, to translate C++ image processing code to the Halide DSL, while guaranteeing semantic equivalence. This new synthesis algorithm scales and generalizes to much larger and more complex functions than prior work, including the ability to handle tiling, conditionals, and multi-stage pipelines in the original low-level code. To demonstrate the effectiveness of our approach, we evaluate Dexter using real-world image processing functions from Adobe Photoshop, a widely used multi-platform image processing program. Our results show that Dexter can translate 264 out of 353 functions in our test set, with the original implementations ranging from 20 to 150 lines of code. By leveraging Halide's advanced auto-scheduling capabilities, we get median speedups of 7.03× and 4.52× for Dexter-translated functions as compared to the original implementations on Intel and ARM architectures, respectively.
DOI: 10.1007/s10009-013-0287-9
发表时间: 2013
影响因子: 1.5
作者:
Rastislav Bodík;Barbara Jobstmann
通讯作者: Barbara Jobstmann
Neon 图像处理语言
DOI: --
发表时间: 2010
期刊:
影响因子: --
作者:
B. Guenter;Diego F. Nehab
通讯作者: Diego F. Nehab
DOI: 10.1145/3183713.3196891
发表时间: 2018-01
期刊: Proceedings of the 2018 International Conference on Management of Data
影响因子: --
作者:
Maaz Bin Safeer Ahmad;Alvin Cheung
通讯作者: Maaz Bin Safeer Ahmad;Alvin Cheung
DOI: 10.1145/2897824.2925892
发表时间: 2016-07
期刊: ACM Transactions on Graphics (TOG)
影响因子: --
作者:
James Hegarty;Ross G. Daly;Zach DeVito;M. Horowitz;P. Hanrahan;Jonathan Ragan-Kelley
通讯作者: James Hegarty;Ross G. Daly;Zach DeVito;M. Horowitz;P. Hanrahan;Jonathan Ragan-Kelley
DOI: 10.1145/2601097.2601174
发表时间: 2014-07-01
影响因子: 6.2
作者:
Hegarty, James;Brunhaver, John;Hanrahan, Pat
通讯作者: Hanrahan, Pat