[发明专利]一种基于异构平台的高维词汇树构建方法有效
申请号: | 201510938217.1 | 申请日: | 2015-12-16 |
公开(公告)号: | CN105573834B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 张为华;季晓枫;余时强 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于并行处理器技术领域,具体为一种基于异构平台的面向高维词汇树构建方法。本发明利用异构处理平台(通用处理器和图形处理器(GPGPU)混合架构)上图形处理器强大的并行计算能力与可编程性,提升高维词汇树构建过程的速度。本发明利用图形处理器高并发性的特点加速高维词汇树算法的核心过程,利用高维词汇树算法特性和图形处理器的内存访问模式优化算法的访存过程,并设计了主机和图形处理器在高维词汇树算法运行过程中的协调策略。本发明方法可以有效提升面向高维数据的词汇树的构建速度。 | ||
搜索关键词: | 平台 面向 数据 词汇 构建 方法 | ||
【主权项】:
1.一种基于异构平台的高维词汇树构建方法,其特征在于包括:利用异构平台中图形处理器GPU强大的并行计算能力与可编程性;利用高维词汇树算法特性和图形处理器的内存访问模式优化算法;采用主机和图形处理器在高维词汇树算法运行过程中的协调策略;在高维词汇树的构建中,将高维词汇树中队列管理以及预处理工作放在主机端,生成新节点算法中的分类以及求和两个部分交由GPU进行处理;在运行建树程序前,将所有图片的高维特征点作为一整个节点放入队列中;开始运行建树程序,建树过程根据主机端的主线程维护的队列进行,具体步骤如下:第一步,程序从任务队列中取出待处理的节点,并将需要处理的数据传输到GPU的主存中;根据节点大小的不同,将采用不同的GPU协同策略:将节点分为下述三种,并放到不同的队列中进行处理;在前一个队列处理完之前程序不处理下一个队列中的节点;第一种是大型节点,这类节点的大小超过GPU主存的容量,将其划分为可以放入GPU中的数据块;如果是多GPU结构,每个GPU依次拿取自己的数据块;如果是单GPU结构,该GPU顺序处理所有的数据块;每次处理完所有数据块的分类或者求和之后,进行同步,并将结果汇总至主机端内存上的数组中,之后再进行下一部分的处理;第二种是普通的节点,这类节点的大小可以整块放入GPU内存中,不需要划分为数据块; GPU按顺序从队列中获取任务,处理完一个任务后即可取下一块任务;第三种是碎片化节点,这类节点是到了队列的尾部,高维词汇树的底层,产生的许多只有数百、数十个高维特征点的节点;为了充分利用GPU的计算能力,要放入尽量多的碎片化节点以填满GPU的内存,此时GPU每次可以处理上百个节点;第二步,对节点进行处理,生成K个子节点;首先,在节点中随机寻找K个高维特征点作为初始的中心点,然后对高维特征点进行分类处理,之后对每个分类求和,最后得到新的K个中心点;经过循环上述过程,至中心点结果不变后,得到K个新的中心点;其中,GPU上节点的处理工作有两部分:一是对每个高维特征点进行分类,二是对每个类别的高维特征点进行求和;对这两部分采用不同的并行模式以提高并行性能:对于分类计算,每个线程以高维特征点为任务目标,去完成分类任务;线程的任务是首先求出高维特征点与所有中心点的多维距离,然后确定与之距离最短的中心点,将结果存储到全局内存中;由于计算最短距离不适合由多个线程共同完成,所以GPU采用根据高维特征点进行处理的方式,线程各自读取高维特征点进行处理;中心点的数据被存储在线程块的共享内存中,这是所有高维特征点公用的数据,放在共享内存中能够减少不必要的主存访问;当一个线程在处理完一个节点后,读取下一个要处理的高维特征点并循环直至处理完所有的节点;对于求和计算,GPU按维度进行并行处理,一个线程块处理一组节点,每个线程负责特定的维度,每个线程只存储自己负责的维度的局部和,这样就能将局部和放在共享内存上,减少不必要的GPU主存访问;每次处理完一个点中的特定维度,线程根据线程块中的总线程数累加一定的地址得到下一部分有相同维度的数据;最终,在这组节点中所有线程都完成累加后,有特定的线程将各自负责的值累加到全局变量上;第三步,将子节点放入队列中;当前节点生成的K个子节点中,超过预定的层数L或者特征点过少的节点不会被放入队列,其余节点会被放到相应节点中;第四步,重复第一至第三步的过程,当队列为空时,高维词汇树的构建工作完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510938217.1/,转载请声明来源钻瓜专利网。
- 上一篇:工作流运行期的事件处理方法和装置
- 下一篇:一种操作处理方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置