[发明专利]一种基于SIRT算法且使用CPU+MIC协同计算模式的电镜三维重构方法无效
申请号: | 201210398979.3 | 申请日: | 2012-10-19 |
公开(公告)号: | CN102945566A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | 卢晓伟;张清 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T1/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sirt 算法 使用 cpu mic 协同 计算 模式 三维 方法 | ||
技术领域
本发明涉及计算机应用技术领域, 具体地说是一种基于SIRT算法且使用CPU+MIC协同计算模式的电镜三维图像重构方法,尤其涉及在MIC众核架构上使用CPU+MIC协同计算模式进行电镜三维重构的方法及装置。
背景技术
MIC(Many Integrated Core)是Intel公司推出的众核处理器,跟通用的多核至强处理器相比,MIC众核架构具有更小的内核和硬件线程,众核处理器计算资源密度更高,片上通信开销显著降低,更多的晶体管和能量,能够胜任更为复杂的并行应用。Intel MIC产品基于X86架构,基于重核的众核处理器,包含50个以上的核心,以及512bit的向量位宽,双精性能超过1TFlops。
MIC拥有极其灵活的编程方式,MIC卡可以作为一个协处理器存在,也可以被看作是一个独立的节点。基本的MIC编程模型是将MIC看作一个协处理器,CPU根据程序的指令,将一部分代码运行在MIC端。此时存在两类设备,即CPU端和MIC众核协处理器端。
电子断层三维重构技术(Electron Tomography,ET)是从一个物体的二维投影图经过重构获取物体内部结构的技术,通过获取多个不同角度的二维投影图进行反向重构出所研究对象的三维结构。图像重构无论是在医学诊断,还是在生物样品的成像,以及在地表层析成像等诸多领域中都有着广泛的应用。迭代法可以表述成:Ax=p,其中A为非奇异矩阵,x为未知数向量,p为已知向量,迭代法求解目标在于确定x的数值。在迭代重构图像方法中,A为加权因子,p为投影得到的图像像素值,x则为需要重构的图像的像素值。
图1说明了采用迭代重构图像方法实现图像重构的过程。该方法通过赋0值或随机值或背投影方法获取用于迭代过程中的初值X(0),然后经过多次的重投影和背投影的迭代过程,来求得最后满足精度要求的重构图像的像素值。
SIRT(联合迭代重构)算法在所有图像重构算法中重构效果较好,但其运算量巨大,因此需要提高运算效率,来满足快速图像重构的需求。可见,目前需要针对基于MIC平台设计一种迭代重构图像的方法,通过MIC高效简单快速的计算特性,能够极大地加速迭代重构方法的执行,从而快速地完成图像重构任务。
发明内容
本发明的目的是提供一种使用CPU+MIC协同计算模式的电镜三维图像重构方法。能够基于MIC众核架构并且使用CPU+MIC协同计算的快速图像重构。
本发明的目的是按以下方式实现的,包括CPU端, MIC众核协处理器端以及CPU+MIC协同计算模式,其中:
CPU端:负责将要进行迭代重构图像中的物体分成切片单元,向MIC卡传递重构所需要的值,CPU+MIC协同计算模式的框架搭建以及任务调度和参数初始化工作,而且在整个三维图像重构的计算任务CPU也会以Openmp多线程模式,依次通过重投影算法和背投影算法计算获取切片的重构图像值来动态参与;
MIC众核协处理器:负责多线程并行地根据切片的重构图像值和测量获取的该切片投影图像值,依次通过重投影算法和背投影算法计算获取切片的重构图像值,在MIC卡上也采用openmp多线程的方式来运算;
重构步骤如下:
CPU端:将要进行迭代重构图像中的物体分成切片,向MIC卡上传递重构计算所需要的值,以openmp多线程模式,并行执行迭代重构图像,具体包括:
根据物体的大小将该物体分成切片,切片的数目为该物体宽度的像素值SY,切片在投影图像上的元素数为N = SX*ANG_NUM,SX为该物体长度的像素值,ANG_NUM为该物体旋转角度的总数;切片在重构图像上的元素数为M = SX*SZ,SZ为该物体高度的像素值;
CPU端将为图像数据的角度文件,thita等文件在MIC卡上开辟空间,确定其输入输出类型并且将其值offload到MIC卡上, CPU负责CPU+MIC协同计算模式的框架搭建以及任务调度,具体步骤包括:
单节点服务器采用由双路6核CPU和2块KNF MIC卡组成的桌面服务器,在CPU+MICs协同计算中,把双路CPU和MIC卡都作为计算设备,这样每个单节点就相当于有3个计算设备,每个设备通过一个OpenMP线程进行控制;
假设单节点上,MIC卡的总数为M个,则节点上共M+1个设备,采用数据动态划分的方式,每次各个设备自动获取切片的输入数据,片数目>=1,数据处理完之后自动获取下一个切片数据,直到所有设备计算完成所有样本切片数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210398979.3/2.html,转载请声明来源钻瓜专利网。