发明名称 基于CUDA架构的GPU加速锥束CT图像重建的方法
摘要 本发明涉及一种基于CUDA架构的GPU加速锥束CT图像重建的方法;具体为:在CUDA编程模型中,采用GPU进行锥束CT图像重建算法的运算,锥束CT图像重建采用FDK算法,构建CPU和GPU协作的CPU-GPU异构计算模式,将算法划分为M个子任务,每个子任务的结构包括两个部分:数据和在数据上施加的运算,根据各个子任务的特点将其调度到不同的硬件上执行,子任务分为串行子任务和并行子任务,其中,CPU负责子任务的调度和串行子任务的执行,GPU负责并行子任务的执行,CPU与GPU之间通过PCI-E总线进行通信;本发明提供了一种计算速度快的基于CUDA架构的GPU加速锥束CT图像重建的方法。
申请公布号 CN102609978A 申请公布日期 2012.07.25
申请号 CN201210010806.X 申请日期 2012.01.13
申请人 中国人民解放军信息工程大学 发明人 陈庶民;韩玉;闫镔;陈健;张峰;周俊
分类号 G06T17/00(2006.01)I;G06T1/20(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 郑州大通专利商标代理有限公司 41111 代理人 陈大通
主权项 一种基于CUDA架构的GPU加速锥束CT图像重建的方法,在CUDA编程模型中,采用GPU进行锥束CT图像重建算法的运算,锥束CT图像重建算法采用FDK算法,其特征是:构建CPU和GPU协作的CPU‑GPU异构计算模式,CPU被称为主机,GPU被称为设备;在CPU‑GPU异构计算模式中,利用GPU进行锥束CT图像重建算法的运算时,将算法划分为M个子任务,M为大于等于1的自然数,每个子任务的结构包括两个部分:数据和在数据上施加的运算,根据各个子任务的特点将其调度到不同的硬件上执行,子任务分为串行子任务和并行子任务,其中,CPU负责子任务的调度和串行子任务的执行,GPU负责并行子任务的执行,CPU与GPU之间通过PCI‑E总线进行通信;FDK算法中含有加权步骤和滤波步骤,采用下列方式对加权步骤和滤波步骤进行加速:加权步骤选择在CPU或GPU中完成;利用CUDA编程模型中自带的CUFFT库对投影数据做频域滤波,滤波时还利用了FFT函数能够同时处理一批一维傅里叶变换的特性,并且根据复数FFT变换的特点,一次对投影数据的两行做滤波;对FDK算法中反投影部分的加速有以下列三个策略:策略1、线程分配方式的优化;策略2、通过使用常数存储器存储计算反投影参数时的中间量,减少GPU的重复计算量;策略3、通过优化一个内核函数中反投影的张数,减少访问全局存储器的次数。
地址 450002 河南省郑州市金水区俭学街7号