【技术实现步骤摘要】
一种基于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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。