发明名称 字符串匹配的方法、设备和异构计算系统
摘要 本发明实施例提供一种字符串匹配的方法、设备和异构计算系统,包括:GPU的计算单元中的每个GPU核只对待匹配的子字符串进行第一匹配,通过第一匹配确定待匹配的子字符串是否匹配到了模式串,然后,每个GPU核将第一匹配的匹配结果发送给CPU,由CPU根据第一匹配结果对在第一匹配中匹配到模式串的待匹配的子字符串进行第二匹配。由于在第一匹配时,若匹配到了模式串,GPU核并不记录待匹配的子字符串的匹配信息,从而使得GPU核在匹配态和非匹配态时的执行时间相同,因此,当某个GPU核没有匹配到模式串时,也不需要等待计算单元中匹配到模式串的GPU核的执行,而是直接跳转到自动机的下一个状态进行匹配,从而缩短了GPU核的匹配时间,提高了GPU核的匹配效率。
申请公布号 CN105404635A 申请公布日期 2016.03.16
申请号 CN201410472862.4 申请日期 2014.09.16
申请人 华为技术有限公司;电子科技大学 发明人 廖勇;文刘飞;朱葛
分类号 G06F17/30(2006.01)I;G06F9/38(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京同立钧成知识产权代理有限公司 11205 代理人 刘芳
主权项 一种字符串匹配的方法,所述方法应用于异构计算系统中,所述异构计算系统包括:中央处理单元CPU和图形处理器GPU,所述GPU包括多个计算单元,所述多个计算单元中的每个计算单元包括多个GPU核,所述多个计算单元之间并行对数据进行处理,所述每个计算单元内部的多个GPU核之间并行对数据进行处理,其特征在于,所述方法包括:所述计算单元中的每个GPU核分别获取对应的待匹配的子字符串,并将所述待匹配的子字符串输入自动机中进行第一匹配,其中,所述自动机是根据多个模式串预先生成的,所述自动机的每一个节点对应一个状态,在所述第一匹配的匹配过程中,所述计算单元中的每个GPU核在所述自动机的当前状态时,若没有匹配到模式串,则直接跳转到所述自动机的下一个状态进行匹配;所述计算单元中的每个GPU核将第一匹配的结果发送给所述CPU,以使所述CPU根据所述计算单元中的每个GPU核的第一匹配的结果,对所述计算单元中的每个GPU核对应的待匹配的子字符串进行第二匹配。
地址 518129 广东省深圳市龙岗区坂田华为总部办公楼