发明名称 一种基于结构的图节点相似度并行计算方法
摘要 本发明公开了一种基于结构的图节点相似度并行计算方法。所述方法包括以下步骤:CPU端作为主机端读入多个故事文本或图像,建立图模型,获取图的邻接矩阵;GPU端作为设备端,接收CPU端传输的邻接矩阵,GPU端计算邻接矩阵;GPU端得到邻接矩阵,并传输至CPU端。通过本方法利用并行的方法大大提高了相似度计算的速度,并能够保证较高的计算精度,满足了海量媒体计算应用的效率和精度需求;实验结果表明,在相似精度的前提下,本发明所提出的加速算法取得了较现有算法平均100倍以上的加速比。
申请公布号 CN103177414B 申请公布日期 2015.12.09
申请号 CN201310102281.7 申请日期 2013.03.27
申请人 天津大学 发明人 冯伟;万亮;谭志羽;鲁志超;江健民
分类号 G06T1/00(2006.01)I;G06T1/20(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 温国林
主权项 一种基于结构的图节点相似度并行计算方法,其特征在于,所述方法包括以下步骤:(1)CPU端作为主机端读入多个故事文本或图像,建立图模型,获取图的邻接矩阵;(2)GPU端作为设备端,接收CPU端传输的邻接矩阵,GPU端计算邻接矩阵;(3)GPU端得到邻接矩阵,并传输至CPU端;其中,当CPU端作为主机端读入多个故事文本时,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第一邻接矩阵,即,1)通过节点a和b在所述第一邻接矩阵中的位置索引计算节点对(a,b)在grid中所对应的block索引和thread索引,其中grid为GPU内核函数的网格,block为网格中的线程块,thread为线程块中的线程;2)GPU端为第一邻接矩阵中每一个节点对(a,b)之间的相似度计算分配对应线程,即:通过block索引和thread索引查找节点对(a,b)对应线程,在GPU端通过对应线程计算节点对(a,b)的相似性;其中,当CPU端作为主机端读入多个图像时,所述GPU端计算邻接矩阵W的步骤具体为:所述GPU端计算第二邻接矩阵,包括:1)搜索第k‑1次迭代时的位置矩阵P<sub>k‑1</sub>中非零值,将非零元素的行索引、列索引和对应值分别记入row,col,value三个数组中;2)通过位置矩阵P<sub>k‑1</sub>计算第K次迭代的位置矩阵P<sub>k</sub>:3)计算对角元素和M<sub>k</sub>;4)将本次迭代得到的对角元素和M<sub>k</sub>加入S(a,b)中,S(a,b)为GPU端计算相似性矩阵s中对应元素的相似度的值,S(a,b)=S(a,b)+M<sub>k</sub>。
地址 300072 天津市南开区卫津路92号