摘要:
大多数图像处理算法都可利用GPU进行加速以达到更好的执行性能,但数据传输操作与核函数执行之间的调度策略问题仍是桎梏加速性能进一步提升的主要瓶颈。为了解决这个问题,通常采用GPU任务流将核函数执行与数据传输操作进行重叠,以隐藏部分数据传输与核函数执行耗时。但是,由于CUDA编程模型的特性以及GPU硬件资源的限制,在某些情况下,即使创建较多的任务流用于任务重叠,每个流上仍会存在串行执行的任务,导致加速效果无法进一步提升。因此,考虑利用CSS将待处理图像进行合并从而将单个流中的算子核函数及数据传输操作进行合并,以减少数据传输操作和核函数执行的固定代价及调用间隙。通过实验结果可知,提出的CSS结构不仅能在单流的情况下提高GPU图像处理算法执行性能,在多流的情况下其加速性能也得到了进一步提升,具有较好的实用性及可扩展性,适用于包含较多算子操作或较小尺寸图像批量处理的情况。此外,提出的方法对图像处理算法的GPU加速提供了新的研究思路。
左宪禹1,2,张哲1,5,黄祥志4,5,葛强1,2,张理涛3,臧文乾4,5. 一种适用于GPU图像处理算法的合并存储结构[J]. 计算机工程与科学.
ZUO Xian-yu1,2,ZHANG Zhe1,5,HUANG Xiang-zhi4,5,GE Qiang1,2,ZHANG Li-tao3,ZANG Wen-qian4,5.
A combined storage structure for
image processing algorithms on GPU
[J]. Computer Engineering & Science.