Model-Based Warp Overlapped Tiling for Image Processing Programs on GPUs

Model-Based Warp Overlapped Tiling for Image Processing Programs on GPUs
复制标题

GPU 上图像处理程序的基于模型的扭曲重叠平铺

DOI:
10.1145/3410463.3414649
复制
发表时间:
2020
期刊:
International Conference on Parallel Architectures and Compilation Techniques
影响因子:
--
通讯作者:
Guha, Arjun
Guha, Arjun
中科院分区:
--
文献类型:
--
作者:
Jangda, Abhinav;Guha, Arjun

文献摘要

参考文献

被引文献

相似文献

在GPU上执行图像处理流水线的特定领域语言(如Halide和Forma)通过以下方式操作:1)将图像划分为重叠的区块,以及2)融合循环以提高内存局部性。然而,目前的方法有局限性:1)~它们需要线程内块同步,这具有不平凡的成本,2)~它们必须在需要更多重叠计算的小瓦片或增加共享内存访问的大瓦片之间进行选择(并降低占用率),和3)他们的自动调度算法使用简化的GPU模型,这可能导致低效的全局内存访问。我们提出了一种新的方法来执行GPU上的图像处理流水线解决了这些限制,如下所述。1)我们融合循环以形成重叠的瓦片,这些瓦片适合单个经线,这允许我们使用轻量级经线同步。2)我们引入混合平铺,它存储在线程本地寄存器和共享内存的组合重叠的区域。因此,混合平铺要么通过减少共享内存使用来增加占用率,要么使用更大的平铺来减少重叠计算。3)我们提出了一个自动循环融合算法,考虑了影响GPU内核性能的几个因素。我们实现了这些技术在PolyMage-GPU,这是一个新的GPU后端PolyMage。我们的方法生成的代码比Halide的手动时间表更快:在NVIDIA GTX 1080Ti上快1.65倍,在NVIDIA Tesla V100上快1.33倍。
Domain-specific languages that execute image processing pipelines on GPUs, such as Halide and Forma, operate by 1)~dividing the image into overlapped tiles, and 2)~fusing loops to improve memory locality. However, current approaches have limitations: 1)~they require intra thread block synchronization, which has a nontrivial cost, 2)~they must choose between small tiles that require more overlapped computations or large tiles that increase shared memory access (and lowers occupancy), and 3) their autoscheduling algorithms use simplified GPU models that can result in inefficient global memory accesses.We present a new approach for executing image processing pipelines on GPUs that addresses these limitations as follows. 1) We fuse loops to form overlapped tiles that fit in a single warp, which allows us to use lightweight warp synchronization. 2) We introduce hybrid tiling, which stores overlapped regions in a combination of thread-local registers and shared memory. Thus hybrid tiling either increases occupancy by decreasing shared memory usage or decreases overlapping computations using larger tiles. 3) We present an automatic loop fusion algorithm that considers several factors that affect the performance of GPU kernels. We implement these techniques in PolyMage-GPU, which is a new GPU backend for PolyMage. Our approach produces code that is faster than Halide's manual schedules: 1.65x faster on an NVIDIA GTX 1080Ti and 1.33x faster on an NVIDIA Tesla V100.
DOI: --
发表时间: 1994
期刊: TOPL
影响因子: --
作者:
M. Wolfe
通讯作者: M. Wolfe
Swizzle Inventor:GPU 内核的数据移动综合
DOI: 10.1145/3297858.3304059
发表时间: 2019
期刊: ASPLOS
影响因子: --
作者:
Phothilimthana, Phitchaya Mangpo;Bodik, Rastislav;Elliott, Archibald Samuel;Wang, An;Jangda, Abhinav;Hagedorn, Bastian;Barthels, Henrik;Kaufman, Samuel J.;Grover, Vinod;Torlak, Emina
通讯作者: Torlak, Emina
GPU 上的通信优化:序列对齐算法案例研究
DOI: 10.1109/ipdps.2017.79
发表时间: 2017
期刊: 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
影响因子: --
作者:
Jie Wang;Xinfeng Xie;J. Cong
通讯作者: J. Cong
通过寄存器缓存在 GPU 上进行二进制字段的快速乘法
DOI: --
发表时间: 2016
期刊: International Conference on Supercomputing
影响因子: --
作者:
Eli Ben;Matan Hamilis;M. Silberstein;Eran Tromer
通讯作者: Eran Tromer
DOI: 10.1145/3306346.3322967
发表时间: 2019-07-01
影响因子: 6.2
作者:
Adams, Andrew;Ma, Karima;Ragan-Kelley, Jonathan
通讯作者: Ragan-Kelley, Jonathan