Locality-Aware Scheduling for Stencil Code in Halide

Shih-Wei Liao, Sheng-Jun Tsai, Chieh-Hsun Yang,Chen-Kang Lo

2016 45th International Conference on Parallel Processing Workshops (ICPPW)(2016)

引用 4|浏览13
暂无评分
摘要
Halide is a domain-specific language designed for image processing and stencil computation. Existing programming languages require the sacrifice of readability, portability and modularity to write high-performance image processing programs. Optimizing the execution strategy of a program oftentimes results in the heavy modification of code, which is a burden to a programmer. To simplify a programmer's task in optimizing his or her application, Halide separates the schedule and the algorithm of an application. A program's schedule can be changed independently in Halide, as the language decouples the algorithm and the schedule of an application. However, the exploration of possible schedules remains difficult and time-consuming. Exhaustive exploration is too common and brute-force. This paper proposes a locality-aware scheduler for the stencil computation. Exhaustive search is replaced by an algorithm using an analytical model. The algorithm delivers the overlapped tiling schedule with its tile size selection. We are able to achieve higher performance from the overlapped tiling scheduling due to better locality. In the Jacobi example, 8-time speedup over the baseline schedule is observed. We improve over the baseline scheduling in Halide without the exploration of all possible schedules.
更多
查看译文
关键词
execution strategy optimization,stencil computation,image processing,domain-specific language,Halide,stencil code,locality-aware scheduling
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要