发明名称 |
基于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号 |