发明名称 | 基于GPU异构计算平台的字符串匹配方法及系统 | ||
摘要 | 本发明提供了一种基于GPU异构计算平台的字符串匹配方法及系统,其中的方法包括预处理阶段和匹配阶段;其中,在预处理阶段包括对特征字符串进行预处理,以及分别在CPU主存和GPU全局存储器上分配待匹配数据缓存和结果缓存;在匹配阶段对待匹配数据与特征字符串进行匹配,包括在对待匹配数据进行预处理后,在GPU中对待匹配数据与特征字符串的前缀进行匹配,将匹配成功的待匹配数据按命中位置复制到结果缓存中,然后将结果缓存中的数据复制到CPU主存的结果缓存中;在CPU中,通过散列方式找到与命中位置相对应的特征字符串,将待匹配数据与特征字符串逐字进行匹配确认。通过本发明能够缩短线程流程及减少线程流程分支,提升字符串的匹配效率。 | ||
申请公布号 | CN103559017A | 申请公布日期 | 2014.02.05 |
申请号 | CN201310508005.0 | 申请日期 | 2013.10.23 |
申请人 | 东软集团股份有限公司 | 发明人 | 侯智瀚;杨枭 |
分类号 | G06F9/38(2006.01)I | 主分类号 | G06F9/38(2006.01)I |
代理机构 | 北京鸿元知识产权代理有限公司 11327 | 代理人 | 陈英俊 |
主权项 | 一种基于GPU异构计算平台的字符串匹配方法,包括预处理阶段和匹配阶段,其中,所述预处理阶段在CPU中进行,包括:对特征字符串进行预处理;其中,以位并行过滤方式构建位向量掩码表,并将所述位向量掩码表的每行进行压缩,形成快速过滤子表,将所述位向量掩码表和所述快速过滤子表复制到GPU全局存储器;分别在CPU主存和所述GPU全局存储器上分配待匹配数据缓存和结果缓存;在所述匹配阶段对待匹配数据与所述特征字符串进行匹配,包括:对待匹配数据进行预处理,将预处理后的待匹配数据从所述CPU主存的待匹配数据缓存中复制到所述GPU全局存储器的待匹配数据缓存中进行保存;在GPU中,采用位并行过滤方式对待匹配数据与所述特征字符串的前缀进行匹配,将与所述特征字符串的前缀匹配成功的待匹配数据按命中位置复制到所述GPU全局存储器的结果缓存中,然后将所述GPU全局存储器的结果缓存中的数据复制到所述CPU主存的结果缓存中;在CPU中,通过散列方式找到与所述命中位置相对应的特征字符串,将所述待匹配数据与所述特征字符串逐字进行匹配确认。 | ||
地址 | 110179 辽宁省沈阳市浑南新区新秀街2号 |