主权项 |
一种基于结构的图节点相似度并行计算方法,其特征在于,所述方法包括以下步骤:(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>。 |