CN111913798B - 一种基于cuda的快速非重叠模板匹配计算方法 - Google Patents

一种基于cuda的快速非重叠模板匹配计算方法 Download PDF

Info

Publication number
CN111913798B
CN111913798B CN202010658627.1A CN202010658627A CN111913798B CN 111913798 B CN111913798 B CN 111913798B CN 202010658627 A CN202010658627 A CN 202010658627A CN 111913798 B CN111913798 B CN 111913798B
Authority
CN
China
Prior art keywords
sequence
template
data
gpu
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010658627.1A
Other languages
English (en)
Other versions
CN111913798A (zh
Inventor
张建国
侯锐
李凯凯
韩红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiyuan University of Technology
Original Assignee
Taiyuan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taiyuan University of Technology filed Critical Taiyuan University of Technology
Priority to CN202010658627.1A priority Critical patent/CN111913798B/zh
Publication of CN111913798A publication Critical patent/CN111913798A/zh
Application granted granted Critical
Publication of CN111913798B publication Critical patent/CN111913798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明一种基于CUDA的快速非重叠模板匹配计算方法,属于基于CUDA的快速非重叠模板匹配计算技术领域;所要解决的技术问题为:提供一种基于CUDA的快速非重叠模板匹配计算方法,使随机性测试做到高速或实时测试;解决该技术问题采用的技术方案为:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;采集待检测样本数据,并将数据存储于CPU端;在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数Wi;将所述Wi值传回CPU端进行P‑value计算;本发明应用于非重叠模板匹配计算。

Description

一种基于CUDA的快速非重叠模板匹配计算方法
技术领域
本发明一种基于CUDA的快速非重叠模板匹配计算方法,属于基于CUDA的快速非重叠模板匹配计算技术领域。
背景技术
随机数广泛应用于扩频通信,科学计算,数值分析,雷达测距和身份认证等科学研究和工程技术领域;尤其在密码学领域,随机数被广泛应用于密钥产生,初始化向量,安全协议,数字水印,码分多址和大素数产生等方面,由于密码体制的安全性在一定程度上由随机数决定,一段有缺陷的随机序列可能导致整个密码系统的信息泄露,因此生成随机数必须经过严格的统计学特征来论证其特性;随机性测试就是通过概率统计的方法计算被测序列包含的某些参数来评估其随机性,其中NIST SP 800-22标准经过严格的理论推导和实验分析,从各个方面对随机数及随机数发生器进行评估,其专业性和权威性已经被国际信息安全界广泛认可,成为最具代表性的测试标准。
虽然目前的随机数发生器已经可以达到很高的速率,但是随机性测试的速度却远远不能与之匹配,因此无法对随机数做到高速甚至实时测试;NIST发布的测试标准中包含单比特频数测试、块内频数测试、游程测试、块内最大游程测试、二元矩阵秩测试、离散傅立叶变换测试、非重叠模板匹配测试、重叠模板匹配测试、Maurer的通用统计测试、线性复杂度测试、序列测试、近似熵测试、累加和测试、随机游动测试以及随机游动状态频数测试等15个测试项。经过测验,利用NIST官方发布的的测试套件sts-2.1.2测试1GB随机数文本(ASCII格式)耗时高达一小时左右(所用CPU为Intel core i7-3770,物理核心数为4个,主频3.4GHz,带宽25.6GB/s,主机的内存为8GB),而其中涉及非重叠模板匹配测试用时最多,如图二所示,占总测试耗时的36%左右;非重叠模板匹配测试将待检序列分为若干个长度为M比特的不重叠子块,然后统计每个子块中预先定义的模式串的发生次数,通过实测模式串的出现次数与预期数之间的匹配程度来评估被测序列的随机性。假设模式串长度为m位,如果匹配窗口中m位的模式串与序列逐一配对成功,那么窗口向后移动m位继续搜索,否则,窗口只向后移动一位。在NIST官方发布的的测试套件sts-2.1.2中非重叠模板匹配测试通过CPU进行计算,计算速度慢,无法实现对随机数进行高速甚至实时测试。由此可见,在利用NIST测试对随机数的质量进行评估时,如何提高非重叠模板匹配测试的速度是本领域技术人员亟待解决的问题。
发明内容
本发明为了克服现有技术中存在的不足,所要解决的技术问题为:提供一种基于CUDA的快速非重叠模板匹配计算方法,使随机性测试做到高速或实时测试。
为了解决上述技术问题,本发明采用的技术方案为:一种基于CUDA的快速非重叠模板匹配计算方法,包括以下步骤:
步骤一:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;
步骤二:采集待检测样本数据,并将数据存储于CPU端;
步骤三:在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;
步骤四:将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数Wi
步骤五:将所述Wi值传回CPU端进行P-value计算,所述P-value为在假设序列随机成立的情况下,错误被接受的概率。
所述步骤四中控制GPU端并行计算所述待检测样本数据中匹配模板发生次数的具体包括:定义运行在所述GPU端的Kernel核函数,以对所述待检测样本的多个子块中模板的发生次数进行并行计算:
将所述待检测样本序列从CPU端传输至GPU的全局内存,根据所述模板数量确定并行计算时的所需线程块以及线程的数量,依据预先设定的线程块的参数和所述线程数量计算得到所述kernel核函数在并行计算时所对应的网格参数,在所述CPU端调用API函数以控制所述Kernel核函数在所述GPU端上运行,以得到所述的发生次数,并将计算得到的所述发生次数从GPU端传输至CPU端。
所述步骤四中模板在子块序列中发生次数的计算步骤为:
步骤4.1:将每条序列分为N个长度为M的子块;
步骤4.2:使用二进制格式读取随机数数据后,用移位算法将m位随机数倒序写入整型数中,即将随机数打包;
步骤4.3:使用移位算法将m位模板序列倒序写入整型数中,即将模板序列打包;
步骤4.4:用一个m位模板序列打包后的模板串与连续的m位随机数打包后的序列串进行匹配;
如果模板串=序列串,那么表示模板匹配成功一次,表示第i个子块中模板B发生的次数Wi加一,并执行步骤4.5;
如果模板串≠序列串,则执行步骤4.6;
步骤4.5:将随后的m位随机数继续打包生成一个新的序列串数据,重复步骤4.4;
步骤4.6:读取一个新的随机数,再将这个新的随机数写入序列串中的第8位,打包后生成一个新的序列串数据,然后重复步骤4.4。
所述步骤四中控制GPU端进行数据并行计算处理具体为:将数据分块产生的子块序列均同时和模板序列进行匹配,实现子块序列之间的并行计算;每条线程只负责一个模板的计算,实现模板之间的并行计算。
本发明相对于现有技术具备的有益效果为:本发明基于非重叠模板匹配测试的GPU并行计算方案支持三个层次的并行,首先是数据级并行,由于每条被测序列不存在相关性,通过一次测量多组数据可以加大GPU计算的吞吐量;其次是子块序列之间的并行,CPU多线程实现中,受限于线程数量,子块序列之间依旧采用串行计算的方式,在本发明提供的GPU方案中,数据分块产生的子块序列都同时和模板序列进行匹配;最后是模板之间的并行,CPU多线程中每条线程需要负责一定数量的模板计算,本发明提供的GPU方案中每条线程只负责一个模板的计算;通过执行上述三级并行方案可以大幅提高算法的并行度,从而极大地缩短计算时间,实现高速甚至实时的随机性测试。
附图说明
下面结合附图对本发明做进一步说明:
图1为本发明快速非重叠模板匹配计算方法的步骤流程图;
图2为NIST各项测试耗时占比图;
图3为本发明非重叠模板匹配测试的CUDA线程组织结构示意图;
图4为本发明实施例中多位随机数打包状态示意图;
图5为本发明实施例中模板匹配成功状态示意图;
图6为本发明实施例中模板匹配失败状态示意图;
图7为本发明加速比随序列大小变化的数据图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明包括以下步骤:
1)预先搭建用于非重叠模板匹配计算的CUDA环境;
2)采集待检测样本数据,并将数据存储于CPU端;
3)在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;
4)控制GPU端并行计算模板在子块序列中发生的次数Wi
5)将所述Wi值传回CPU端进行P-value计算,所述P-value为在假设序列随机成立的情况下,错误被接受的概率,是NIST测试中衡量序列随机性的统计量,所述P值的计算步骤为:
步骤5.1:在假设待测序列是随机码的前提下,由以下公式计算理论上的均值μ和方差σ2
式中:M为子块的长度,m为模板的长度;
步骤5.2:计算检验统计量的标准分布式χ2(obs),所述χ2(obs)值表示实际检测到模板发生的次数与预期值之间的符合程度,由以下公式计算:
式中:i为求和式中的计数值,N为子块的数量;
步骤5.3:由以下公式计算最终的P值:
式中:igamc为不完全伽马函数:
判断当P-value≥0.0001,表明被测序列达到随机序列的标准,即通过测试;
判断当P-value<0.0001,表明被测序列是非随机的,则未通过测试;
SP800-22标准要求测试1000组大小为1Mbit的随机数文本数据,,即总长度为1Gbit;每项测试要求通过的组数大于981组,才能认为被测数据通过了测试。
优选的,控制所述GPU端并行计算所述待检测样本数据中匹配模板发生的次数具体包括:
定义运行在所述GPU端的Kernel核函数以对所述待检测样本的多个子块中模板的发生次数进行并行计算;
在所述CPU端调用API函数以控制所述Kernel核函数在所述GPU端上运行以得到所述发生次数;
所述定义运行在所述GPU端的kernel核函数以对所述待检测样本序列进行并行计算具体包括:
将所述待检测样本序列从CPU端传输至GPU的全局内存;
根据所述模板数量确定并行计算时的所需线程块以及线程的数量;
依据预先设定的线程块的参数和所述线程数量计算得到所述kernel核函数在并行计算时所对应的网格参数;
对非重叠模板进行并行计算并将计算得到的所述发生次数从GPU端传输至CPU端;
具体计算模板在子块序列中发生次数的步骤为:
步骤一:将每条序列分为N个长度为M的子块;
步骤二:使用二进制格式读取随机数数据后,用移位算法将m位随机数倒序写入整型数中,即将随机数打包;
步骤三:使用移位算法将m位模板序列倒序写入整型数中,即将模板序列打包;
步骤四:用一个m位模板序列打包后的模板串与连续的m位随机数打包后的序列串进行匹配。如果模板串=序列串,那么表示模板匹配成功一次,表示第i个子块中模板B发生的次数Wi加一,并执行步骤五,否则(模板串≠序列串)执行步骤六。
步骤五:将随后的m位随机数继续打包生成一个新的序列串,重复步骤四。
步骤六:读取一个新的随机数,再将这个新的随机数写入序列串中的第8位,打包后生成一个新的序列串,重复步骤四。
优选的,由于二进制序列的数据仅仅为0和1,使用比特流读取随机数序列以节省内存空间。
优选的,用一个机器字打包多位模式串字符以提高匹配效率。
优选的,使用位并行匹配算法快速计算模板在序列中发生的次数。
优选的,基于本发明的非重叠模板匹配测试的GPU并行计算方案包含三个层次的并行,首先是数据级并行,由于每条被测序列不存在相关性,通过一次测量多组数据来加大GPU计算的吞吐量;其次是子块序列之间的并行,数据分块产生的子块序列都同时和模板序列进行匹配;最后是模板之间的并行,GPU方案中每条线程只负责一个模板的计算。通过并发执行的三级并行方案能够大幅提高算法的并行度,从而极大地缩短计算时间。
本发明实施例以长度为9-bit的模板为例对本发明进行叙述。
搭建用于实现快速非重叠模板匹配测试的环境包括硬件环境和软件环境,其中硬件环境包括CPU、支持CUDA编程模型的显示芯片GPU;软件环境包括C/C++编译器和CUDA。
采集待检测样本数据,并将待检测样本数据保存在CPU端。
主机端传输一定大小的随机数序列和模板数据到GPU的全局内存中,如图2所示。
接着在GPU上创建一个三维的线程块<<<(template_cnt+15)/16,1,1>>>,其中“template_cnt”表示模板的数量,9-bit模板时线程块数量通过以下公式计算:
计算可得线程块数量为10;
每个线程块包含一个三维线程<<<16,8,1>>>,其中“16”表示每个线程块计算16个模板,“8”表示将每条1Mbit序列分为8个分块,所以每个线程块包含t=16×8=128条线程,如图2所示。
块内线程的数量随着每组测试数据的增大而翻倍,如果每组测试数据变为2Mbit,产生16个子块,那么块内线程设置为<<<16,16,1>>>。
使用二进制格式读取随机数数据后,使用一个整型数表示多位二进制随机数,以此来有效减少匹配次数,从而降低指令开销。在模板长度不大于16位时,使用移位算法将m位随机数倒序写入一个16位的短整型数中。
如图3所示,以9-bit的匹配模板为例,短整型数中的0~8位为有效数据位,9~15位填充为0。
接着计算匹配模板在目标随机数序列中出现的次数。用一个9-bit的模板串与连续的9位随机数打包后的序列串进行匹配。
如图4所示,如果模板串=序列串,那么表示模板匹配成功一次,然后将后9位随机数继续打包生成一个新的序列串数据;
如图5所示,如果模板串≠序列串,则表示匹配失败,然后读取一个新的随机数,再将这个新的随机数写入序列串数据中的第8位,打包后生成一个新的序列串,接着与模板串再进行比较。
本发明给出计算新的序列串的方法,即将16位短整型数中的第0位数据剔除,最高位第15位填充0,然后使用指针读取一个新的随机数数据,左移8位后写入短整型数据的第8位。位并行算法的实现将每次模板窗口内的匹配计算缩短为一次,最多减少到原来的1/9。
如图2所示,最后将参数传回CPU端完成最终的P值计算。
如图6所示,为了测试基于本发明的非重叠模板匹配计算加速情况,展示了模板长度为9-bit,测试序列从1MB到10MB时,基于本发明的非重叠模板模板匹配计算相对于NIST官方发布的测试套件sts-2.1.2的加速比,由图可知,加速比随着序列规模先增大后逐渐趋于平稳,在5MB规模时达到最大483倍的加速比。

Claims (1)

1.一种基于CUDA的快速非重叠模板匹配计算方法,其特征在于:包括以下步骤:
步骤一:预先搭建用于非重叠模板匹配计算的CUDA环境,包括CPU端和GPU端;
步骤二:采集待检测样本数据,并将数据存储于CPU端;
步骤三:在GPU端分配存储空间,将检测数据与模板从CPU传至GPU端;
步骤四:将每条待检测数据序列分为N个长度为M的子块,控制GPU端并行计算长度为m的模板在第i个子块序列中发生的次数Wi
控制GPU端并行计算所述待检测样本数据中匹配模板发生次数的具体方法为:
定义运行在所述GPU端的Kernel核函数,以对所述待检测样本的多个子块中模板的发生次数进行并行计算:
将所述待检测样本序列从CPU端传输至GPU的全局内存,根据所述模板数量确定并行计算时的所需线程块以及线程的数量,依据预先设定的线程块的参数和所述线程数量计算得到所述Kernel核函数在并行计算时所对应的网格参数,在所述CPU端调用API函数以控制所述Kernel核函数在所述GPU端上运行,以得到所述的发生次数,并将计算得到的所述发生次数从GPU端传输至CPU端;
计算模板在子块序列中发生次数的具体方法为:
步骤4.1:将每条序列分为N个长度为M的子块;
步骤4.2:使用二进制格式读取随机数数据后,用移位算法将m位随机数倒序写入整型数中,即将随机数打包;
步骤4.3:使用移位算法将m位模板序列倒序写入整型数中,即将模板序列打包;
步骤4.4:用一个m位模板序列打包后的模板串与连续的m位随机数打包后的序列串进行匹配;
如果模板串=序列串,那么表示模板匹配成功一次,表示第i个子块中模板B发生的次数Wi加一,并执行步骤4.5;
如果模板串≠序列串,则执行步骤4.6;
步骤4.5:将随后的m位随机数继续打包生成一个新的序列串数据,重复步骤4.4;
步骤4.6:读取一个新的随机数,再将这个新的随机数写入序列串中的第8位,打包后生成一个新的序列串数据,然后重复步骤4.4;
控制GPU端进行数据并行计算处理的具体方法为:将数据分块产生的子块序列均同时和模板序列进行匹配,实现子块序列之间的并行计算;每条线程只负责一个模板的计算,实现模板之间的并行计算;
步骤五:将所述Wi值传回CPU端进行P-value计算,所述P-value为在假设序列随机成立的情况下,错误被接受的概率。
CN202010658627.1A 2020-07-09 2020-07-09 一种基于cuda的快速非重叠模板匹配计算方法 Active CN111913798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010658627.1A CN111913798B (zh) 2020-07-09 2020-07-09 一种基于cuda的快速非重叠模板匹配计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010658627.1A CN111913798B (zh) 2020-07-09 2020-07-09 一种基于cuda的快速非重叠模板匹配计算方法

Publications (2)

Publication Number Publication Date
CN111913798A CN111913798A (zh) 2020-11-10
CN111913798B true CN111913798B (zh) 2024-02-09

Family

ID=73227786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010658627.1A Active CN111913798B (zh) 2020-07-09 2020-07-09 一种基于cuda的快速非重叠模板匹配计算方法

Country Status (1)

Country Link
CN (1) CN111913798B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888282A (zh) * 2010-04-22 2010-11-17 北京邮电大学 一种基于随机性分析的数据加密功能的检验方法
CN103345382A (zh) * 2013-07-15 2013-10-09 郑州师范学院 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法
CN105046113A (zh) * 2015-06-10 2015-11-11 国家计算机网络与信息安全管理中心 基于随机性检验的Android软件加固检测方法
CN109493318A (zh) * 2018-10-09 2019-03-19 广东仙童智能机器人科技有限公司 一种图像并行处理方法、装置和计算机存储介质
CN111176918A (zh) * 2019-12-28 2020-05-19 苏州浪潮智能科技有限公司 一种服务器测试方法、系统、设备及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168973A1 (en) * 2005-12-02 2007-07-19 Sun Microsystems, Inc. Method and apparatus for API testing
US20190392002A1 (en) * 2018-06-25 2019-12-26 BigStream Solutions, Inc. Systems and methods for accelerating data operations by utilizing dataflow subgraph templates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888282A (zh) * 2010-04-22 2010-11-17 北京邮电大学 一种基于随机性分析的数据加密功能的检验方法
CN103345382A (zh) * 2013-07-15 2013-10-09 郑州师范学院 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法
CN105046113A (zh) * 2015-06-10 2015-11-11 国家计算机网络与信息安全管理中心 基于随机性检验的Android软件加固检测方法
CN109493318A (zh) * 2018-10-09 2019-03-19 广东仙童智能机器人科技有限公司 一种图像并行处理方法、装置和计算机存储介质
CN111176918A (zh) * 2019-12-28 2020-05-19 苏州浪潮智能科技有限公司 一种服务器测试方法、系统、设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
非正交二值子空间模板表示的并行生成;杨培;武港山;杨扬;任桐炜;;中国图象图形学报(第10期);全文 *
面向安全加密系统的真随机数发生器的设计;郭晨阳;中国博士学位论文全文数据库 信息科技辑(第06期);全文 *

Also Published As

Publication number Publication date
CN111913798A (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
Zu et al. GPU-based NFA implementation for memory efficient high speed regular expression matching
US7856102B2 (en) Methods and apparatus for providing a message authentication code using a pipeline
Anh et al. Balanced hashing and efficient gpu sparse general matrix-matrix multiplication
Lulli et al. Highly optimized simulations on single-and multi-GPU systems of the 3D Ising spin glass model
Guo et al. An empirical performance evaluation of gpu-enabled graph-processing systems
CN102684871A (zh) 具有均匀分布特征的多维伪随机序列快速并行生成方法
Dai et al. NTRU modular lattice signature scheme on CUDA GPUs
Chen et al. A high-throughput FPGA accelerator for short-read mapping of the whole human genome
CN111913798B (zh) 一种基于cuda的快速非重叠模板匹配计算方法
Chatterjee et al. Counting problems on graphs: GPU storage and parallel computing techniques
Fan et al. Evaluating the randomness of chaotic binary sequences via a novel period detection algorithm
CN113421095A (zh) 一种区块链交易并行执行加速方法
CN109375989A (zh) 一种并行后缀排序方法及系统
CN109240644A (zh) 一种用于伊辛芯片的局部搜索方法及电路
CN111653318A (zh) 一种用于基因比对的加速方法、装置、存储介质与服务器
CN112003688A (zh) 一种基于cuda的数据加解密处理方法及系统
CN110580675A (zh) 一种适用于gpu硬件的矩阵存储与计算方法
Fredriksson et al. Practically efficient array initialization
Xue et al. GB-RC4: Effective brute force attacks on RC4 algorithm using GPU
CN106708973A (zh) 一种蒙特卡洛逆向求解PageRank问题的加速方法
CN110955407A (zh) 一种基于区块链的随机数取号方法
CN113556228B (zh) 可用作种子的伪随机数的生成与相应唯一编码的生成方法
CN112558924B (zh) 伪随机二值序列的局部弱随机现象的快速检测方法
US6963892B2 (en) Real-time method and apparatus for performing a large size fast fourier transform
CN112668183A (zh) 一种长时间历程振动信号的雨流计数处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant