一种基于CUDA的快速非重叠模板匹配计算方法技术

技术编号:26303840 阅读:38 留言:0更新日期:2020-11-10 19:58
本发明专利技术一种基于CUDA的快速非重叠模板匹配计算方法,属于基于CUDA的快速非重叠模板匹配计算技术领域;所要解决的技术问题为:提供一种基于CUDA的快速非重叠模板匹配计算方法,使随机性测试做到高速或实时测试;解决该技术问题采用的技术方案为:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;采集待检测样本数据,并将数据存储于CPU端;在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数W

【技术实现步骤摘要】
一种基于CUDA的快速非重叠模板匹配计算方法
本专利技术一种基于CUDA的快速非重叠模板匹配计算方法,属于基于CUDA的快速非重叠模板匹配计算

技术介绍
随机数广泛应用于扩频通信,科学计算,数值分析,雷达测距和身份认证等科学研究和工程
;尤其在密码学领域,随机数被广泛应用于密钥产生,初始化向量,安全协议,数字水印,码分多址和大素数产生等方面,由于密码体制的安全性在一定程度上由随机数决定,一段有缺陷的随机序列可能导致整个密码系统的信息泄露,因此生成随机数必须经过严格的统计学特征来论证其特性;随机性测试就是通过概率统计的方法计算被测序列包含的某些参数来评估其随机性,其中NISTSP800-22标准经过严格的理论推导和实验分析,从各个方面对随机数及随机数发生器进行评估,其专业性和权威性已经被国际信息安全界广泛认可,成为最具代表性的测试标准。虽然目前的随机数发生器已经可以达到很高的速率,但是随机性测试的速度却远远不能与之匹配,因此无法对随机数做到高速甚至实时测试;NIST发布的测试标准中包含单比特频数测试、块内频数测试、游程测试本文档来自技高网...

【技术保护点】
1.一种基于CUDA的快速非重叠模板匹配计算方法,其特征在于:包括以下步骤:/n步骤一:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;/n步骤二:采集待检测样本数据,并将数据存储于CPU端;/n步骤三:在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;/n步骤四:将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数W

【技术特征摘要】
1.一种基于CUDA的快速非重叠模板匹配计算方法,其特征在于:包括以下步骤:
步骤一:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;
步骤二:采集待检测样本数据,并将数据存储于CPU端;
步骤三:在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;
步骤四:将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数Wi;
步骤五:将所述Wi值传回CPU端进行P-value计算,所述P-value为在假设序列随机成立的情况下,错误被接受的概率。


2.根据权利要求1所述的一种基于CUDA的快速非重叠模板匹配计算方法,其特征在于:所述步骤四中控制GPU端并行计算所述待检测样本数据中匹配模板发生次数的具体包括:
定义运行在所述GPU端的Kernel核函数,以对所述待检测样本的多个子块中模板的发生次数进行并行计算:
将所述待检测样本序列从CPU端传输至GPU的全局内存,根据所述模板数量确定并行计算时的所需线程块以及线程的数量,依据预先设定的线程块的参数和所述线程数量计算得到所述kernel核函数在并行计算时所对应的网格参数,在所述CPU端调用API函数以控制所述Kernel核函数在所述GPU端上运行,以得到所述的发生次数,并将计算得到的所述...

【专利技术属性】
技术研发人员:张建国侯锐李凯凯韩红
申请(专利权)人:太原理工大学
类型:发明
国别省市:山西;14

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1