当前位置:主页 > 科技论文 > 计算机论文 >

一种适用于GPU图像处理算法的合并存储结构

发布时间:2020-12-09 11:13
  大多数图像处理算法都可利用GPU进行加速以达到更好的执行性能,但数据传输操作与核函数执行之间的调度策略问题仍是桎梏加速性能进一步提升的主要瓶颈。为了解决这个问题,通常采用GPU任务流将核函数执行与数据传输操作进行重叠,以隐藏部分数据传输与核函数执行耗时。但是,由于CUDA编程模型的特性以及GPU硬件资源的限制,在某些情况下,即使创建较多的任务流用于任务重叠,每个流上仍会存在串行执行的任务,导致加速效果无法进一步提升。因此,考虑利用CSS将待处理图像进行合并从而将单个流中的算子核函数及数据传输操作进行合并,以减少数据传输操作和核函数执行的固定代价及调用间隙。通过实验结果可知,提出的CSS结构不仅能在单流的情况下提高GPU图像处理算法执行性能,在多流的情况下其加速性能也得到了进一步提升,具有较好的实用性及可扩展性,适用于包含较多算子操作或较小尺寸图像批量处理的情况。此外,提出的方法对图像处理算法的GPU加速提供了新的研究思路。 

【文章来源】:计算机工程与科学. 2020年02期 第197-202页 北大核心

【文章页数】:6 页

【部分图文】:

一种适用于GPU图像处理算法的合并存储结构


逻辑工作队列与硬件工作队列

并发执行,工作队


从上述步骤可知,数据传输与核函数执行操作是基于GPU的并行优化算法中必不可少的2个重要步骤。由于核函数执行操作通常在算法执行总耗时中占据较大比重,所以在现有的大部分文献中,重点关注如何对GPU核函数执行部分进行优化。即根据算法本身特性及GPU计算架构的特点来设计性能最优的核函数,从而达到较好的加速效果。此外,针对GPU数据传输耗时的优化方法比如零拷贝(Zero-Copy)[6]和Overlap[7]等的应用也取得了一定的加速效果。Zero-Copy是一种将主机端分配的锁页内存(Pinned Memory)映射到GPU显存地址空间的方法,GPU可在需要该内存中数据时自动通过PCI-E总线访问主机端内存中的数据,而不必手动将数据提前传输至GPU显存。但是,由于所需数据并没有缓存到GPU显存中,所以每次访问该数据都需要重新获取,因此只适用于数据量较小或数据访问次数较少的情况。Overlap则是利用CUDA流[3,7-9]实现不同GPU工作队列的并发执行。不同型号GPU通常拥有数量不等的可连接硬件工作队列上限,并可以进行显式设置,而逻辑工作队列(即CUDA流)则没有固定数量限制。通过将逻辑工作队列映射到不同硬件工作队列,可以重叠数据传输与核函数执行操作,在支持Hyper-Q特性的GPU上还可以达到核函数执行之间的重叠,从而减少部分程序执行耗时。如图 1所示,当批量处理6幅图像时,可以将每幅图像的处理操作分配到1个单独的CUDA流上,在计算资源充足的情况下,数据传输与核函数以及不同流上核函数的执行时间轴会出现重叠,从而获得较高的并行度与较好的加速效果。虽然CUDA流在逻辑上是相互独立且可并发执行的GPU工作队列,但将逻辑工作队列(即CUDA流)映射到硬件工作队列时会受到硬件计算资源方面的限制。GPU中包含较多的计算核心(Cores),主要分为SP(Stream Processor)和SM(Stream Multi-processor),多个SP可组成1个SM,每个GPU硬件工作队列包含至少1个SM。当多个逻辑工作队列映射到同1硬件工作队列时,这些逻辑工作队列将会采取分时复用的方式执行。因此,即使创建多个逻辑工作队列,但当硬件工作队列不足以同时执行全部逻辑工作队列时,逻辑上并行执行的工作队列在物理上仍是串行执行的。如图 2a所示,假定GPU硬件资源仅支持同时执行3个硬件工作队列,即使创建逻辑上可并行执行的6个逻辑工作队列,但未抢占到硬件工作队列所有权的逻辑工作队列不得不进行等待,图2a所示逻辑工作队列执行时间轴对应的硬件工作队列执行时间轴如图 2b所示。此外,在每个硬件工作队列上需要串行执行的操作中,数据传输与数据传输之间以及核函数执行与数据传输之间存在调用间隙。在这种情况下,算法的实际执行情况并没有达到图 1所示的理想效果。

存储结构,图像,数据传输


在图像处理领域中,通常将图像视为数字矩阵传输至GPU显存中进行处理[10,11]。因此,本文提出一种适用于GPU的图像合并存储结构(CSS),如图 3所示。利用CSS可以将具有相同类型、相同算子、相同或不同大小的图像进行合并存储、传输及计算。如前文所述,每次GPU数据传输操作都存在固定代价。Tinit在每次数据传输操作调用前都会执行,即属于固定代价且不随传输数据量的大小而改变。而Tcopy不属于固定代价,因此随传输数据量的增加而增加。当将多次数据传输操作进行合并时,固定代价会随之减少。分别采用SEP与CSS的多次GPU数据传输操作总耗时计算方法如式(3)所示:

【参考文献】:
期刊论文
[1]并行计算在动态摄影测量边缘提取算法中应用[J]. 刘振涛,燕必希,董明利,孙鹏,王君.  计算机工程与设计. 2019(01)
[2]基于MODIS植被指数的气候平均研究[J]. 纪翔,卢涵宇,赵天杰,吴松,卢天健.  广西大学学报(自然科学版). 2018(03)
[3]基于GPU和矩阵分块的增强植被指数计算[J]. 沈夏炯,侯柏成,韩道军,马瑞.  遥感信息. 2018(03)
[4]GPU加速的差分进化粒子滤波算法[J]. 曹洁,黄开杰,王进花.  计算机应用研究. 2018(07)



本文编号:2906779

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2906779.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户1603e***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com