[发明专利]字符串匹配的方法、设备和异构计算系统有效
申请号: | 201410472862.4 | 申请日: | 2014-09-16 |
公开(公告)号: | CN105404635B | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 廖勇;文刘飞;朱葛 | 申请(专利权)人: | 华为技术有限公司;电子科技大学 |
主分类号: | G06F16/9032 | 分类号: | G06F16/9032;G06F9/38 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字符串 匹配 方法 设备 计算 系统 | ||
1.一种字符串匹配的方法,所述方法应用于异构计算系统中,所述异构计算系统包括:中央处理单元CPU和图形处理器GPU,所述GPU包括多个计算单元,所述多个计算单元中的每个计算单元包括多个GPU核,所述多个计算单元之间并行对数据进行处理,所述每个计算单元内部的多个GPU核之间并行对数据进行处理,其特征在于,所述方法包括:
所述计算单元中的每个GPU核分别从所述GPU的全局内存中读取自动机,其中,所述自动机是所述CPU根据多个模式串生成,并存储到所述GPU的全局内存中的,所述自动机包含至少一个节点,每一个节点对应一个状态;
所述计算单元中的每个GPU核分别获取对应的待匹配的子字符串,并将所述待匹配的子字符串输入自动机中进行第一匹配,其中,在所述第一匹配的匹配过程中,所述计算单元中的每个GPU核在所述自动机的当前状态时,若没有匹配到模式串,则直接跳转到所述自动机的下一个状态进行匹配;
所述计算单元中的每个GPU核将第一匹配的结果发送给所述CPU,以使所述CPU根据所述计算单元中的每个GPU核的第一匹配的结果,对所述计算单元中的每个GPU核对应的待匹配的子字符串进行第二匹配。
2.根据权利要求1所述的方法,其特征在于,所述每个GPU核的第一匹配的结果为所述每个GPU核对应的待匹配的子字符串的匹配标志位的值,所述匹配标志位用于指示是否需要对对应的待匹配的子字符串进行所述第二匹配;
相应地,所述方法还包括:
所述计算单元中的每个GPU核根据第一匹配的结果分别更新对应的待匹配的子字符串的匹配标志位的值;
所述计算单元中的每个GPU核将第一匹配的结果发送给所述CPU,包括
所述计算单元中的每个GPU核将对应的待匹配的子字符串的匹配标志位的值发送给所述CPU。
3.根据权利要求2所述的方法,其特征在于,所述计算单元中的每个GPU核根据第一匹配的结果分别更新对应的待匹配的子字符串的匹配标志位的值,包括:
若所述计算单元中的第一GPU核对应的待匹配的子字符串匹配到了所述多个模式串中的至少一个模式串,则所述第一GPU核将对应的待匹配的子字符串的匹配标志位的值更新为需要进行所述第二匹配,其中,所述第一GPU核为所述计算单元中的任意一个GPU核;
若所述第一GPU核对应的待匹配的子字符串没有匹配到所述多个模式串中任意一个模式串,则所述第一GPU核将对应的待匹配的子字符串的匹配标志的值为更新为不需要进行所述第二匹配。
4.根据权利要求2所述的方法,其特征在于,所述计算单元中的每个GPU核将对应的待匹配的子字符串的匹配标志位的值发送给所述CPU,包括:
所述计算单元中的每个GPU核将对应的待匹配的子字符串的匹配标志位的值从自己的私有内存写入所述计算单元的本地内存中;
所述计算单元将每个GPU核对应的待匹配的子字符串的匹配标志位的值从所述本地内存写入所述GPU的全局内存中,以使所述CPU从所述GPU的全局内存中将所述计算单元中的每个GPU核对应的待匹配的子字符串的匹配标志位的值读取到所述CPU的内存中。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述计算单元中的每个GPU核分别获取对应的待匹配的子字符串,包括:
所述计算单元中的每个GPU核分别从所述GPU的全局内存中将对应的待匹配的子字符串读取到自己的私有内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;电子科技大学,未经华为技术有限公司;电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410472862.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种知识依赖的网页信息抽取方法
- 下一篇:图像压缩方法和系统