[发明专利]一种基于异构加速平台的二维相位解缠绕方法有效
申请号: | 201410101628.0 | 申请日: | 2014-03-18 |
公开(公告)号: | CN103942095B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 吴振华;马文静;龙国平;李玉成 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06T1/00 |
代理公司: | 北京科迪生专利代理有限责任公司11251 | 代理人: | 成金玉,孟卜娟 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明设计了一种基于异构加速平台的二维相位解缠绕方法。在Branch cut步骤中加入了局部匹配,克服了并行实现的瓶颈;在算法的FloodFill步骤中使用Block的动态组织方式,解决了数据依赖;通过合并和压缩存储、创造数据的伪边界等优化方法,提高了执行速度,更大化地利用了硬件资源。本发明满足了二维相位解缠绕算法的实时性要求,也对并行编程和克服数据依赖提供了一定的指导意义。 | ||
搜索关键词: | 一种 基于 加速 平台 二维 相位 缠绕 方法 | ||
【主权项】:
一种基于异构加速平台的二维相位解缠绕方法,其特征在于:所述方法各个步骤均在异构加速平台上实现,实现步骤如下:(1)异构加速平台上定义相位数据中不一致的点,即Residue值为+/‑1的点;(11)把相位数据分块,读入共享内存,线程组Block中的每个线程计算一个点的Residue值,并保存;为了保证每个Block的最后一行和最后一列能按照一样的规则计算,每个Block需要多读入一行和一列数据;(12)在求出Residue值之后,进行寻找并匹配偶极子操作(Dipole cut),所述偶极子是指相邻并且有着相反极性的Residue值的点,如果该点的Residue值为+1,在该点周围寻找极性相反的点,如果有极性相反的点,则这两个点标记为BranchCut点,并把一个Residue值标记为+2,另一个Residue值标记为‑2,得到Residue数据;(2)异构加速平台上匹配不一致点的过程,即Branch cut步骤,该步骤分为两个过程:局部匹配和全局匹配;(21)首先进行局部匹配,把Residue数据分块后读入共享内存,在每一个Block内进行Branch cut操作,先由Residue值为+1的去寻找最近Residue值极性为负(‑1、‑2)的点或者数据边界,直到超过搜索范围;同步操作之后再由‑1的点去寻找极性为正的点,每一个Block多读N圈的Residue输入数据,即上下左右各多读N行,N为一个正整数参数,提高精度;如果该Block有Residue值非0的点未匹配,则把对各Block的标识BlockFlag写为+1或者‑1,其极性跟Residue值极性相同;(22)然后进行全局匹配,全局匹配与局部匹配使用一样的线程配置,采用一个线程读取BlockFlag标志,如果该BlockFlag标志为0,则结束;如果该BlockFlag标志不为0就说明该Block需要进行全局匹配;全局匹配过程时,若BlockFlag值为+1,则找到最近的BlockFlag为‑1或者边界上的Block,计算它们之间的最远距离和最近距离作为搜索范围,在该范围中肯定能找到匹配的点,得到匹配后的BranchCut数据,BranchCut即各个点经过Branch cut操作后的值;(3)在异构加速平台上实现FloodFill步骤,输出解缠绕后的相位数据,具体实现如下:输入匹配后的BranchCut数据,BranchCut数据中选取种子点作为起始点,标记为已经被解缠绕;所述种子点不能是被Branch cut的点,通过有限次重启设备函数Kernel,以一种动态的Block的组织方式把种子状态从中心往四周扩散;其中在Block内部,每个线程一次处理一行或者一列数据,然后四个方向,即从左到右、从上到下、从右到左、从下到上依次进行解缠绕处理,一个线程处理一行或一列后进行解缠绕处理需要一次同步,直到整个Block中没有需要被解缠绕的点时停止迭代,输出解缠绕后的相位数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410101628.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种青稞原浆酒的制备方法
- 下一篇:卸妆皂