基于总变分最小化模型的异步并行GPU加速算法 下载: 764次
1 引言
计算机断层扫描(CT)成像技术可在非接触、不破坏的前提下快速有效地获取物体的内部结构信息,自上世纪70年代出现以来已经被广泛地应用于医疗诊断以及工业检测[1]。三维锥束CT由于其空间分辨率高、扫描速度快以及射线利用率高等方面的优势,得到了广泛的应用。其中,圆轨迹扫描因其扫描方式简单、易操作等优点成为最常用的一种扫描方式。在针对圆轨迹扫描的重建算法中,Feldkamp, Davis和Kress提出的FDK(Feldkamp-Davis-Kress)算法[2]是最著名的一种解析类重建算法,但是该算法对投影数量的需求较大,而大量的投影采集意味着更多的辐射剂量,会对人体产生较大的损害。对于医用CT,辐射剂量同样是人们重点关注的问题之一。医用CT成像的一个主要目标就是在尽可能降低辐射剂量的同时获取高质量的成像结果。目前降低辐射剂量的方法一般可以分为两种[3-4]:一种方法是降低扫描电压电流,但是该方法会降低投影数据的信噪比,从而降低图像的重建质量;另一种方法是减小扫描角度,该方法不但可以有效降低患者接收的辐射剂量,还可以缩短扫描时间,因此通常采用减小扫描角度的策略来降低辐射剂量。常采用增大扫描间隔的方式减少扫描角度,但稀疏角度采样条件下的投影数据不满足Tuy-Smith数据完备性条件[5-6]。数学上,稀疏角度图像重建问题是一个病态求逆的不适定问题[7-8],传统的解析重建算法以及迭代重建算法在处理稀疏角度问题时并不十分有效。
2006年压缩感知(CS)理论[9]的提出为解决稀疏采样条件下的图像重建问题提供了新的思路。基于总变分(TV)最小化模型的迭代重建算法被提出,该模型利用一般图像的梯度幅度图像具有稀疏性的特点,使用稀疏优化的模型与求解算法,获得了精度较高的重建结果[10]。利用该性质,学者针对不同问题提出了多种重建算法[11-13],但是该类算法在处理锥束CT大规模数据重建问题时仍然存在计算量大、耗时长等问题。其中,消耗的主要时间为正、反投影计算部分,而正、反投影因其具有较好的并行性,通常可采用加速策略对其进行改进,如图形处理器(GPU)加速等[14-15]。
为了进一步提升加速效果,将多GPU加速计算策略应用于稀疏角度迭代重建算法中[16-18]。多个GPU的引入可成倍地加速数值计算,获得更高的加速比。但这类加速算法均为同步并行加速算法,即每轮迭代各节点需等待所有节点结束后再进行下一轮迭代。对于同步并行算法,当多个加速部件间性能存在差异时,整体加速效果会受到最慢节点的影响,从而影响了其实际加速效果。2016年Peng等[19]提出了一种异步并行计算框架,证明了其收敛性,并给出了算法收敛的条件及多种特例,为异步并行计算提供了理论支撑。本文在该异步并行计算框架下,利用异步交替方向法(ADM)推导得到基于TV最小化模型的异步并行重建算法,并利用GPU集群对其进行算法加速。相比传统GPU加速算法,该算法在理论上保证了异步并行的正确性,同时可将多GPU加速的优势发挥到最大,得到最理想的加速效果。
2 异步交替方向总变分最小化(Async-ADTVM)迭代重建算法
2.1 异步并行计算框架
为保证内容的完整性,首先介绍异步并行计算框架的相关内容。对于大规模、高复杂度计算,通常采用并行加速技术来提升计算效率,在同步并行计算方式中,计算较快的节点需等待较慢节点的计算结束,最慢节点的计算性能将直接影响整体的加速效果。而采用异步并行计算技术时,计算效率较高的节点无需等待即可进行下一步计算,消除了计算节点间的空闲等待时间,提高了资源利用率以及计算效率。进行异步并行计算时,不同节点的数据传输时间点有所差异,这样可避免同步计算时数据传输所带来的通信与存储访问拥堵,提高了整体的通信效率。同步并行计算以及异步并行计算示意图如
图 1. (a)同步并行计算;(b)异步并行计算
Fig. 1. (a) Synchronous parallel computing; (b) asynchronous parallel computing
对于同步并行计算,其算法收敛性与原始算法相同,而对于异步并行计算,每个节点每轮计算数据可能存在差异,导致算法收敛存在不确定性。对于该问题,2016年Peng等[19]从不动点问题求解出发,提出了异步并行计算框架并证明了其收敛性。该文献中异步并行计算框架的计算求解过程如下。
不动点问题可以表示为
式中H表示希尔伯特空间的笛卡尔积,
式中
式中
对于同步并行计算,不同节点中更新
2.2 CT重建模型及TV最小化模型
对于CT系统成像,迭代型重建算法通常可采用线性方程组来描述,对成像模型进行离散化之后可得到如下模型:
式中
式中
式中系数
由于该问题中包含两个变量
进而可以得到其对偶问题:
式中
式中
式中
对于(11)式,可采用异步交替方向法进行迭代求解。将(9)式代入该求解公式最终可得基于TV最小化模型的Async-ADTVM的更新公式为
首先求解(14)式,该式为关于
从而可以得到该子问题的解析解为
式中
式中
对于(16)式的求解,利用shrinkage算子可直接得到其解析解[17]为
对于并行计算系统,还需要对更新公式中的变量进行划分,利用多个节点来异步并行更新变量中的元素,即对于单个子节点仅需计算相关变量中的部分元素,然后利用计算后的元素更新主节点中变量相应的元素即可。迭代公式中涉及到的更新变量有
Async-ADTVM算法在子节点对第
2.3 基于消息传递接口(MPI)的GPU机群优化实现
由于上述迭代公式中涉及
采用主控机节点、计算节点、高速交换机、高速互联网络等主要基础设施组成GPU机群系统,如
对于GPU机群系统,其中所需要考虑的主要问题在于节点内的计算过程,以及节点间的数据传输过程。GPU机群系统中通常涉及到节点与节点之间的数据传输,以及节点内中央处理器(CPU)与GPU之间的数据传输。对于节点之间的数据通信,采用常用的MPI进行编程实现;对于节点内部CPU与GPU之间的数据通信,采用统一设备构架(CUDA)技术进行编程实现。
通用的并行程序设计主要分为两大类:任务并行和数据并行。传统迭代重建算法为明确的串行算法,即轮与轮之间依次计算,轮中子问题的求解也依次进行。所提出的异步并行迭代重建算法在理论上进行了并行设计,能够很好地与并行计算系统相契合。节点之间的并行计算为任务并行计算,而节点内的GPU加速计算为数据并行计算。对于一个机群系统,数据的传输同样是一个重要的考虑内容,这里从节点间的数据传输和节点内的加速计算两个方面进行讨论。
1) 数据的划分与节点间的数据传输
对于所提出的Async-ADTVM算法,需要将整体数据进行划分,并在子节点中对划分后的数据分别进行迭代更新。理论上数据划分的越多,算法的收敛性越好,但过多的数据划分会影响到整体的计算效率。因此,对于拥有
通过分析迭代公式可以看出,对于子节点中局部数据
同时可以看出,对于任意子节点,在每一轮迭代更新过程中涉及的数据传输仅有三部分:第一部分为迭代开始时从主节点内获取此时刻所有节点更新后的整体数据;第二部分为子节点更新
2) 节点内的加速计算
针对节点内部的加速计算,主要涉及到变量
式中等号右侧的左半部分均为简单计算操作,仅需在CPU端进行;而右半部分为涉及
而对于涉及
3 实验结果与分析
为验证本章所提的Async-ADTVM算法在GPU机群上的计算性能,首先搭建了一个小型GPU机群。GPU机群包含4个GPU计算服务器、1个管理服务器、千兆交换机以及千兆以太网。所采用的软件配置为Visual Studio 2012、MPICH2-1.41以及CUDA7.0,其中最主要的GPU计算服务器的硬件配置如
表 1. 重建加速的实验平台参数
Table 1. Parameters of reconstruction acceleration experimental platform
|
为测试算法的正确性并对比计算效率,共设计4组实验方案:1)利用一台GPU计算服务器Ⅰ进行算法求解计算,但仅利用CPU进行计算;2)利用一台GPU计算服务器Ⅰ进行算法单GPU加速求解;3)利用4台GPU计算服务器分别进行同步并行重建与异步并行重建,并且所有计算服务器均只利用K20显卡进行加速计算;4)利用4台GPU计算服务器分别进行同步并行重建与异步并行重建,同时2台GPU计算服务器Ⅰ采用K20显卡,2台GPU计算服务器Ⅱ采用K40显卡。所有实验采用相同的系统扫描参数,具体参数如
表 2. 锥束CT系统扫描参数
Table 2. Scanning parameters of cone-beam CT system
|
利用重建图像质量与原始体模之间的均方根误差(RMSE)来评价重建结果的质量,并利用加速比来评价GPU机群系统对算法的加速效果。以第一组CPU计算以及第二组单GPU加速的实验结果分别作为评价的基准,通过计算其他组实验的加速比来判断其计算效率。加速比定义为
式中
4组实验在第2000轮迭代时中间层的重建结果展示如
相比于传统CPU计算,算法采用GPU加速策略可取得50倍以上的加速比。对于多GPU机群系统的加速效果,实验3、4中同步并行计算的加速效果并无显著差异。因为同步并行计算仅受性能最差节点计算速度影响,而2组实验中性能最差的GPU均采用K20显卡,因此并不存在较大的整体计算性能差异。实验3、4中异步并行计算的加速比因各GPU性能的不同而存在一定的差异。对比实验3中同步并行计算和异步并行计算的计算时间,由于所有节点均采用相同的GPU进行加速计算,异步并行计算的效果比同步并行计算略有提高。通过对比实验4中两种并行计算策略的计算时间,发现异步并行计算在GPU机群系统中最差节点的计算性能相同且各节点存在性能差异时可取得更优的加速效果。
表 3. 4组实验在第2000轮迭代时结果的RMSE以及平均每轮迭代时间
Table 3. RMSE of results at iteration of 2000 times and average iteration time of each iteration for four experiments
|
图 3. 原始图像及4组实验在第2000轮迭代时中间层的重建结果。(a)原始图像;(b)实验1的结果;(c)实验2的结果;(d)实验3中同步并行结果;(e)实验3中非同步并行结果;(f)实验4中同步并行结果;(g)实验4中非同步并行结果
Fig. 3. Original image and reconstruction results of middle slices at iteration of 2000 times. (a) Original image; (b) result of experiment 1; (c) result of experiment 2; (d) result of sync-parallel computing in experiment 3; (e) result of async-parallel computing in experiment 3; (f) result of sync-parallel computing in experiment 4; (g) result of async-parallel computing in experiment 4
4 结论
图像重建速度是限制迭代类重建算法在实际中应用的一个重要因素。针对该问题,提出了Async-ADTVM算法。该算法在异步并行计算框架的基础上,针对最常用的TV最小化重建模型,通过将其转化为不动点迭代问题,并利用异步ADM进行求解。相比于传统的同步并行计算方法,该算法在保证收敛性的同时,减少了并行计算系统中各节点性能差异所带来的影响。同时,利用GPU机群系统对该异步并行算法进行优化。分析迭代过程中的数据通信以及数据并行性,并分别采用MPI和CUDA技术进行实现。实验结果表明:该算法可取得同常规TV最小化迭代重建算法相同的重建精度,同时可大幅度提高系统的计算效率;相比于多GPU的同步并行计算模式,该算法在GPU机群上具有更快的计算速度以及收敛速度。
[1] Buzug TM. Computed tomography: From photon statistics to modern cone-beam CT[M]. Berlin Heidelberg: Springer-Verlag, 2008.
Buzug TM. Computed tomography: From photon statistics to modern cone-beam CT[M]. Berlin Heidelberg: Springer-Verlag, 2008.
[2] Feldkamp L A, Davis L C, Kress J W. Practical cone-beam algorithm[J]. Journal of the Optical Society of America A, 1984, 1(6): 612-619.
Feldkamp L A, Davis L C, Kress J W. Practical cone-beam algorithm[J]. Journal of the Optical Society of America A, 1984, 1(6): 612-619.
[7] NattererF, WubbelingF. Mathematical methods in image reconstruction[M]. Philadelphia: Society for Industrial and Applied Mathematics, 2001.
NattererF, WubbelingF. Mathematical methods in image reconstruction[M]. Philadelphia: Society for Industrial and Applied Mathematics, 2001.
[9] Donoho D L. Compressed sensing[J]. IEEE Transactions on Information Theory, 2006, 52(4): 1289-1306.
Donoho D L. Compressed sensing[J]. IEEE Transactions on Information Theory, 2006, 52(4): 1289-1306.
[13] 马继明, 张建奇, 宋顾周, 等. 全变分约束迭代滤波反投影CT重建[J]. 光学学报, 2015, 35(2): 0234002.
马继明, 张建奇, 宋顾周, 等. 全变分约束迭代滤波反投影CT重建[J]. 光学学报, 2015, 35(2): 0234002.
Ma J M, Zhang J Q, Song G Z, et al. Total variation constrained iterative filtered backprojection CT reconstruction method[J]. Acta Optica Sinica, 2015, 32(2): 0234002.
[17] Wang X Y, Yan H, Cervino L, et al. Iterative cone beam CT reconstruction on a multi-GPU platform[J]. Medical Physics, 2013, 40(6): 543.
Wang X Y, Yan H, Cervino L, et al. Iterative cone beam CT reconstruction on a multi-GPU platform[J]. Medical Physics, 2013, 40(6): 543.
[18] FehringerA, LasserT, ZanetteI, et al. A versatile tomographic forward-and back-projection approach on multi-GPUs[C]. SPIE, 2014, 9034: 90344F.
FehringerA, LasserT, ZanetteI, et al. A versatile tomographic forward-and back-projection approach on multi-GPUs[C]. SPIE, 2014, 9034: 90344F.
Article Outline
路万里, 蔡爱龙, 郑治中, 王林元, 李磊, 闫镔. 基于总变分最小化模型的异步并行GPU加速算法[J]. 光学学报, 2018, 38(4): 0411004. Wanli Lu, Ailong Cai, Zhizhong Zheng, Linyuan Wang, Lei Li, Bin Yan. Asynchronous Parallel GPU Acceleration Method Based on Total Variation Minimization Model[J]. Acta Optica Sinica, 2018, 38(4): 0411004.