CN109978171B - 一种基于云计算的Grover量子仿真算法优化方法 - Google Patents

一种基于云计算的Grover量子仿真算法优化方法 Download PDF

Info

Publication number
CN109978171B
CN109978171B CN201910142544.4A CN201910142544A CN109978171B CN 109978171 B CN109978171 B CN 109978171B CN 201910142544 A CN201910142544 A CN 201910142544A CN 109978171 B CN109978171 B CN 109978171B
Authority
CN
China
Prior art keywords
sub
quantum
matrix
algorithm
cloud computing
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
CN201910142544.4A
Other languages
English (en)
Other versions
CN109978171A (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201910142544.4A priority Critical patent/CN109978171B/zh
Publication of CN109978171A publication Critical patent/CN109978171A/zh
Application granted granted Critical
Publication of CN109978171B publication Critical patent/CN109978171B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于云计算的Grover量子仿真算法的优化方法,主要解决国内外量子算法仿真模拟的量子位较少,仿真效率较低的问题。本发明针对Grover量子搜索单次迭代酉运算进行优化,提出了一种既大幅节约存储空间又显著提高酉运算效率的优化算法,利用基于Hadoop的MapReduce并行计算模型的优势,在云计算集群上对大矩阵酉运算进行分布式处理;充分利用云计算平台提供的高性能并行计算能力,利用集群架构的优势构建多比特位量子并行计算模型,成功地提高了仿真算法效率。

Description

一种基于云计算的Grover量子仿真算法优化方法
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于云计算的Grover量子仿真算法的优化方法。
背景技术
现有真正意义上的量子计算机规模还比较小,量子计算机尚没有从实验室走向实际应用,因此,通过量子仿真的方式模拟量子计算机的运行,成为当前量子理论研究的主要方式。
目前,量子算法仿真常用的仿真软件jQuantum,最高支持15量子比特。虽然K.DeRaedt等人也开发的仿真器QCCE运行在德国于利希研究中心的超级计算机JUGENE上,最大可模拟42位量子算法,但是该超级计算机JUGENE使用262144个CPU和64TB存储,不仅时间开销极大,而且对硬件要求极高,难以真正应用。国内吕相文等人利用GPU开展的量子仿真实验,可实现25量子比特的Grover算法,加速比达23倍。该方法虽然一定程度提高了仿真效率,但利用GPU的仿真仍然存在GPU硬件成本较高,通用性较差的问题。
目前的通用技术中,国内外对量子算法的仿真只能模拟较少量子位、仿真效率较低,而通过堆积硬件的方式虽然能够一定程度上提高仿真的性能,但是成本会呈现几何倍的增长,因此难以广泛应用。
发明内容
本发明的实施例提供基于云计算的Grover量子仿真算法的优化方法,能够提高模拟的量子位数量的同时,降低使用成本。
为达到上述目的,本发明的实施例采用如下技术方案:
具体的,本实施例中,根据Oracle算子的特点,设计出Oracle算子和酉矩阵的压缩方法,大大减少了存储空间。本发明结合酉运算公式和Grover运算的性质,设计一种优化的乘法运算,大大减少酉操作的运算时间。本发明提出的云计算平台上Grover仿真算法框架,模拟的量子位数可达232位。此外本发明为量子仿真提供了普适性的方法,不再需要昂贵的GPU集群,大大降低了研究成本。
针对Grover量子搜索单次迭代酉运算进行优化,提出了一种既大幅节约存储空间又显著提高酉运算效率的优化算法,利用基于Hadoop的MapReduce并行计算模型的优势,在云计算集群上对大矩阵酉运算进行分布式处理
本发明针对国内外对量子算法的仿真只能模拟较少量子位、仿真效率较低的缺点,结合云计算并行计算的优势,本发明提出一种高效的仿真算法,对Grover搜索算法进行优化,在云计算平台架构集群分布式存储来分摊指数级的存储空间开销,显著地提高仿真效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的Grover算法线路示意图;
图2为本发明实施例提供的分治算法数学模型示意图;
图3为本发明实施例提供的单核虚拟机集群并发模型示意图;
图4为本发明实施例提供的多核虚拟机集群并发模型示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例提供一种基于云计算的Grover量子仿真算法的优化方法,如图1所示,包括:
1、执行量子搜索仿真算法的内存压缩。
2、执行量子搜索仿真算法U操作的加速。
3、加载云计算平台上Grover仿真算法框架。
其中,可以采用所述云计算平台的多线程并发操作执行U变换,并将最后结果反馈给子机,其中,云计算平台下主机-N子机的架构方式;父进程将工作负载分成子块分派给子进程,子进程并行地计算工作负载的子块,计算子块所产生的结果由父进程进行合并,其中,分割和合并过程以递归方式进行。
具体的,所述执行量子搜索仿真算法的内存压缩,包括:
将Oracle算子存储于一维数组,并通过压缩将存储空间由之前的O(N2)减小为O(N),其中,Oracle算子是grover算法中的基本操作,属于目前grover算法应用方面的基本常识,O()表示时间复杂度与空间复杂度的比值,N表示2的n次方,n表示比特位;
将U矩阵存储于一维二元数组,并通过压缩将存储空间由之前的O(N2),其中,U矩阵是Grover算法中的基本算子,也称酉算子。
具体的,所述Oracle算子O=I-2|β><β|,是一个对角矩阵且有大量的零元素:其中,O表示oracle算子,I表示单位矩阵,|β>表示行矩阵,<β|表示列矩阵,i表示orcale算子中元素的横坐标,j表示orcale算子中元素的纵坐标,x表示待查找的元素。
将所述Oracle算子存储于一维数组
具体的,针对U矩阵的结构,构造一个一维二元数组存储:a[1]=21-n,a[2]=21-n-1,将其存储空间由O(N2)减小为O(2),其中,a表示构造出的一维二元数组,在U矩阵中的元素,包括两个不同的值:对角线元素值和非对角线元素值。
具体的,所述执行量子搜索仿真算法U操作的加速,包括:
建立乘法运算模型:
其中,G表示Grover算子,bi(i=1,2,…,N)表示了存储Orcale算子的元素,矩阵G中元素的运算互不相干,可以并行处理,G作用于均衡叠加态为一次迭代,/>的效果为将G中每行元素相加再与/>相乘,经过/>次迭代:
表示均衡叠加态,R表示迭代次数,M表示解空间。
再进行测量时,将以较高的概率得到最终结果。
本实施例中,采用Grover量子搜索仿真算法的内存压缩,具体的:
单机运行Grover仿真程序经常存在内存不足的问题。在Azure云平台下,单虚拟机(单核+1GB内存+500IOPS)运行libquantum库中Grover程序到24位就会因为内存不足报错,这是限制仿真继续进行的首要因素。
Grover算法是基于黑箱Oracle的算法,线路框架如图1所示。
量子搜索算法由被记作G的Grover量子迭代反复执行组成。Grover迭代可分为四步:
①应用Oracle量子黑箱识别解。Oracle的作用可以简化为:
其中f(x)定义为:
②应用Hadamard变换
③应用条件相移算子,使以外的计算基态概率幅翻转;
④再次应用Hadamard变换
在Grover算法中,酉矩阵不但存在大量零元素,还有着许多重复元素。对矩阵元素用以下方法进行压缩,可以大大节省存储空间。
第①步中,Oracle算子O=I-2|β><β|,发现Oracle算子中有大量零元素:
②③④步结合的效果为:
矩阵U中的元素如下:
矩阵G中元素:
通过分析发现,矩阵ONN为对角矩阵,将矩阵O的对角线元素通过一个一维N元数组存储。经过压缩,其存储空间由之前的O(N2)减小为O(N)。
对于U矩阵,其元素也只有两个不同的值:对角线元素值、非对角线元素值。针对U矩阵的结构,构造一个一维二元数组存储:a[1]=21-n,a[2]=21-n-1。将其存储空间由O(N2)减小为O(2)。
进一步的,采用Grover量子搜索仿真算法酉操作的加速,包括:
记酉运算Q=M*N,M为x1*y1的矩阵,N为x2*y2的矩阵,y1=x2,Q矩阵中元素:
经典算法中含有三层循环,时间复杂度为O(x1*y1*y2),算法复杂度较高。其中,无论M或N中元素是否为零都要进行一次运算,其实这是无效的,省去这些无效的运算,可以提高Grover算法仿真效率。因为空间局部性和时间局部性,当访问内存中数据的时候,CPU会把所要访问的数据放到cache里面,同时还会把它临近的数据以块为单位放进cache。在量子计算中随着量子位数的增加,酉矩阵是很大型的矩阵。经典算法中,酉矩阵在内存中是按行存储的,而在运算时,被乘数矩阵是按列访问的。因为cache无法装下所需要使用的数据,计算机会不断从内存读入数据,不断的刷新cache,产生cache conflict。这种情况会浪费大量时间,所以在运算过程中应该尽量减少cache的重新载入。
据此,结合酉运算公式和Grover运算的性质,设计一种优化的乘法运算:
因为矩阵G中元素的运算互不相干,可以并行处理。
本实施例,可以在云计算平台上实现Grover仿真算法框架,具体的:本发明采用云计算平台下主机-N子机的架构方式。主机负责向子机发送命令,协调子机间通信;子机间并行计算,子机内部共享存储,采用多线程并发操作执行酉变换,并将最后结果反馈给子机。
并行的分而治之中,父进程将其工作负载分成若干个较小的子块并将它们分派给一些子进程。然后这些子进程并行地计算它们的工作负载,所产生的结果由父进程进行合并。分割和合并过程以递归方式进行。通过分治策略分而治之,对程序的时空复杂度进行优化。例如,在Grover量子搜索算法中:28=26+26+26+26,即执行一个量子位为8的Grover搜索算法可以转换为执行四个量子位为6的Grover算法。通过四个进程并行运算,使原问题的复杂度由优化到/>优化后,执行量子位为n的Grover算法耗时和执行量子位为n-2的Grover算法耗时相同。将原问题的复杂度拆为:/>其中n=a+b,即如图2所示。
当虚拟机均为单核时,量子计算适合的并发结构为:子机间并行执行,子机内多进程并行执行,如图3所示。用一个for循环控制进程并发数量,并平均分发到N个子机上,子机并行执行子程序,此时运行效率最高。
当虚拟机为多核时,CPU处于高负载状态,进程执行队列会发生阻塞。多核虚拟机的执行队列还会发生冲突。所以多核虚拟机适合的架构模型为:子机间并行执行,子机内串行执行。
此外,在多核计算机执行算法时,OS任务分配是基于时间片轮转的,并不能保证每个CPU都在执行算法;尤其多核CPU存在负载均衡的问题,经常会出现其中一个或两个CPU占用率很高,其他CPU基本空闲的情况,这样多个CPU之间实际上并不是并行执行算法。与单核虚拟机相比,多核虚拟机没有达到倍数加速,就无法物尽其用。鉴于此,我们利用OpenMp共享内存并行编程,对虚拟机进行多核优化。其基本原理就是使用多线程,将可并行负载分配到多个核心中,从而加速算法执行时间,提高CPU利用率。
如图4所示,子机中上一次Grover搜索完成后,再执行下一次,通过主机监测子机的进程执行状况。主机中的ssh2_exec进程和子机建立连接并负责收发指令和消息,当子机的Grover执行完毕后,主机的ssh2_exec进程也随之结束;主机的主程序使用execl()语句打开ssh2_exec通信程序,execl()打开程序的原理是用新程序的代码替换当前进程代码空间里的代码并从头执行,而非建立新的进程。因此,使用fork()建立子进程时,记录子进程的pid值,主程序即使用waitpid()语句判断子进程ssh2_exec是否结束,进而判断子机中的Grover程序是否结束。主机将并发的2X个进程分为Q组,N是子机数,Q=子进程数/子虚拟机数=2X/N,每组由每个子机执行一次Grover程序,全部执行完后,主机再分配下一组。
Grover量子搜索算法由Grover在1996年首次提出,可将无结构搜索问题由经典算法的O(N)降低至Grover量子搜索算法即在量子位为n时,可以从N=2n个无结构数中寻找问题的M个解的搜索算法。由于搜索领域知识应用广泛,可以预见,Grover量子搜索算法潜力是巨大的。针对国内外对量子算法的仿真只能模拟较少量子位、仿真效率较低的缺点,结合云计算并行计算的优势,本发明提出一种高效的仿真算法,对Grover搜索算法进行优化,在云计算平台架构集群分布式存储来分摊指数级的存储空间开销,显著地提高仿真效率。
本发明公开了一种基于云计算的Grover量子仿真算法的优化方法,主要解决国内外量子算法仿真模拟的量子位较少,仿真效率较低的问题。本发明针对Grover量子搜索单次迭代U运算进行优化,提出了一种既大幅节约存储空间又显著提高U运算效率的优化算法,利用基于Hadoop的MapReduce并行计算模型的优势,在云计算集群上对大矩阵U运算进行分布式处理;充分利用云计算平台提供的高性能并行计算能力,利用集群架构的优势构建多比特位量子并行计算模型,成功地提高了仿真算法效率。
具体的,本实施例中,根据Oracle算子的特点,设计出Oracle算子和酉矩阵的压缩方法,大大减少了存储空间。本发明结合酉运算公式和Grover运算的性质,设计一种优化的乘法运算,大大减少酉操作的运算时间。本发明提出的云计算平台上Grover仿真算法框架,模拟的量子位数可达232位。此外本发明为量子仿真提供了普适性的方法,不再需要昂贵的GPU集群,大大降低了研究成本。
本发明针对国内外对量子算法的仿真只能模拟较少量子位、仿真效率较低的缺点,结合云计算并行计算的优势,本发明提出一种高效的仿真算法,对Grover搜索算法进行优化,在云计算平台架构集群分布式存储来分摊指数级的存储空间开销,显著地提高仿真效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (3)

1.一种基于云计算的Grover量子仿真算法的优化方法,其特征在于,包括:
执行量子搜索仿真算法的内存压缩;
执行量子搜索仿真算法U操作的加速;
加载云计算平台上Grover仿真算法框架;
其中,采用云计算平台的多线程并发操作执行U变换,并将最后结果反馈给子机;采用云计算平台下主机-N子机的架构方式,主机负责向子机发送命令,协调子机间通信;子机间并行计算,子机内部共享存储,采用多线程并发操作执行酉变换,并将最后结果反馈给子机;具体由父进程将工作负载分成子块分派给子进程,子进程并行地计算工作负载的子块,计算子块所产生的结果由父进程进行合并;
所述执行量子搜索仿真算法的内存压缩,包括:
将Oracle算子存储于一维数组,并通过压缩将存储空间由之前的O(N2)减小为O(N),其中,O()表示时间复杂度与空间复杂度的比值,N表示2的n次方,n表示比特位;
将U矩阵存储于一维二元数组,并通过压缩将存储空间由之前的O(N2);
所述执行量子搜索仿真算法U操作的加速,包括:
建立乘法运算模型:
其中,G表示Grover算子,bi表示了存储Orcale算子的元素,其中,i=1,2,…,N,矩阵G中元素的运算互不相干,可以并行处理,G作用于均衡叠加态为一次迭代,/>的效果为将G中每行元素相加再与/>相乘,经过/>次迭代:
表示均衡叠加态,R表示迭代次数,M表示解空间;
再进行测量时,将以较高的概率得到最终结果。
2.根据权利要求1所述的方法,其特征在于,所述Oracle算子O=I-2|β><β|,是一个对角矩阵且有大量的零元素:其中,O表示oracle算子,I表示单位矩阵,|β>表示行矩阵,<β|表示列矩阵,i表示orcale算子中元素的横坐标,j表示orcale算子中元素的纵坐标,x表示待查找的元素;
将所述Oracle算子存储于一维数组。
3.根据权利要求2所述的方法,其特征在于,针对U矩阵的结构,构造一个一维二元数组存储:a[1]=21-n,a[2]=21-n-1,将其存储空间由O(N2)减小为O(2),其中,在U矩阵中的元素,包括两个不同的值:对角线元素值和非对角线元素值,a表示构造出的一维二元数组。
CN201910142544.4A 2019-02-26 2019-02-26 一种基于云计算的Grover量子仿真算法优化方法 Active CN109978171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910142544.4A CN109978171B (zh) 2019-02-26 2019-02-26 一种基于云计算的Grover量子仿真算法优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910142544.4A CN109978171B (zh) 2019-02-26 2019-02-26 一种基于云计算的Grover量子仿真算法优化方法

Publications (2)

Publication Number Publication Date
CN109978171A CN109978171A (zh) 2019-07-05
CN109978171B true CN109978171B (zh) 2023-10-10

Family

ID=67077473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910142544.4A Active CN109978171B (zh) 2019-02-26 2019-02-26 一种基于云计算的Grover量子仿真算法优化方法

Country Status (1)

Country Link
CN (1) CN109978171B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291892B (zh) * 2020-01-17 2023-01-17 深圳大学 一种量子并行搜索方法
CN112132287B (zh) * 2020-09-04 2022-05-17 苏州浪潮智能科技有限公司 一种分布式的量子计算仿真方法和装置
CN112580799B (zh) * 2020-12-10 2024-04-09 江苏大学 一种面向多核处理器的并发htm空间池设计方法
CN114912336B (zh) * 2021-02-09 2024-01-05 本源量子计算科技(合肥)股份有限公司 量子比特仿真模型的建立方法、装置以及可读存储介质
CN112966456B (zh) * 2021-03-05 2023-08-25 深圳大学 一种提高量子计算效率的电路设计方法和系统
CN113312175B (zh) * 2021-04-27 2024-09-06 北京迈格威科技有限公司 一种算子确定、运行方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335215A (zh) * 2015-12-05 2016-02-17 中国科学院苏州生物医学工程技术研究所 一种基于云计算的蒙特卡洛仿真加速方法及系统
CN107977541A (zh) * 2018-01-17 2018-05-01 合肥本源量子计算科技有限责任公司 一种优化量子线路仿真的方法
CN108334952A (zh) * 2017-11-24 2018-07-27 南京航空航天大学 一种新型通用量子门及量子线路优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335215A (zh) * 2015-12-05 2016-02-17 中国科学院苏州生物医学工程技术研究所 一种基于云计算的蒙特卡洛仿真加速方法及系统
CN108334952A (zh) * 2017-11-24 2018-07-27 南京航空航天大学 一种新型通用量子门及量子线路优化方法
CN107977541A (zh) * 2018-01-17 2018-05-01 合肥本源量子计算科技有限责任公司 一种优化量子线路仿真的方法

Also Published As

Publication number Publication date
CN109978171A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109978171B (zh) 一种基于云计算的Grover量子仿真算法优化方法
Li et al. MapReduce parallel programming model: a state-of-the-art survey
Vázquez et al. A new approach for sparse matrix vector product on NVIDIA GPUs
CN117472448B (zh) 一种申威众核处理器从核簇加速并行方法、设备及介质
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
Gu et al. Improving execution concurrency of large-scale matrix multiplication on distributed data-parallel platforms
Zhong et al. Towards GPU-accelerated large-scale graph processing in the cloud
Han et al. Distme: A fast and elastic distributed matrix computation engine using gpus
Huo et al. Porting irregular reductions on heterogeneous CPU-GPU configurations
Zhang et al. A survey of parallel particle tracing algorithms in flow visualization
Shan et al. Improving mpi reduction performance for manycore architectures with openmp and data compression
US11966783B1 (en) Real time scheduling using expected application resource usage
Wan et al. GPU implementation of a parallel two‐list algorithm for the subset‐sum problem
Fu et al. Pangulu: A scalable regular two-dimensional block-cyclic sparse direct solver on distributed heterogeneous systems
CN118012629A (zh) 基于向量化的异构多域处理器的lbm自适应多层网格划分与调度优化方法
Bharadwaj et al. Distributed-memory randomized algorithms for sparse tensor cp decomposition
Dhakal et al. Spatial Sharing of GPU for Autotuning DNN models
Cao et al. Parallel Implementations of Candidate Solution Evaluation Algorithm for N‐Queens Problem
Gonthier et al. Memory-aware scheduling of tasks sharing data on multiple gpus with dynamic runtime systems
Sun et al. Crsd: application specific auto-tuning of spmv for diagonal sparse matrices
Zhou et al. A Parallel Scheme for Large‐scale Polygon Rasterization on CUDA‐enabled GPUs
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
Alshahrani et al. Accelerating Spark‐Based Applications with MPI and OpenACC
CN113377534A (zh) 一种基于csr格式的高性能稀疏矩阵向量乘法计算方法
Jiang et al. Hierarchical Model Parallelism for Optimizing Inference on Many-core Processor via Decoupled 3D-CNN Structure

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