CN115271080A - 量子计算任务执行方法、装置及量子计算机操作系统 - Google Patents
量子计算任务执行方法、装置及量子计算机操作系统 Download PDFInfo
- Publication number
- CN115271080A CN115271080A CN202110479525.8A CN202110479525A CN115271080A CN 115271080 A CN115271080 A CN 115271080A CN 202110479525 A CN202110479525 A CN 202110479525A CN 115271080 A CN115271080 A CN 115271080A
- Authority
- CN
- China
- Prior art keywords
- quantum
- quantum computing
- computing task
- physical
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
Abstract
本申请公开了一种量子计算任务执行方法、装置及量子计算机操作系统,应用于包括量子芯片的第一电子设备,量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,该方法包括:获取量子芯片的当前拓扑结构;获取任务队列中的第二量子计算任务;基于当前拓扑结构和第二量子计算任务确定第二物理量子比特,第二物理量子比特与第一物理量子比特彼此不相互干扰;将第二物理量子比特分配用于执行第二量子计算任务。采用本申请实施例可在量子计算中实现多个量子计算任务的并行计算。
Description
技术领域
本申请涉及量子计算技术领域,尤其涉及一种量子计算任务执行方法、装置及量子计算机操作系统。
背景技术
串行计算和并行计算是经典计算机中常见的两种计算任务执行方式,串行计算是指电子设备逐一调度任务队列中的计算任务给处理器执行计算,并行计算是指电子设备同时调度任务队列中的多个计算任务给处理器执行计算。
然而在量子计算中,多个量子计算任务在同一个量子芯片上执行时,由于被分配用于执行多个量子计算任务的物理量子比特区域之间会存在比特串扰,造成计算结果不准确。那么如何在量子计算中实现多个量子计算任务的并行计算是一个需要解决的技术问题。
发明内容
本申请实施例提供一种量子计算任务执行方法、装置及量子计算机操作系统,用于在量子计算中实现多个量子计算任务的并行计算。
第一方面,本申请实施例提供一种量子计算任务执行方法,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述方法包括:
获取所述量子芯片的当前拓扑结构;
获取任务队列中的第二量子计算任务;
基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
将所述第二物理量子比特分配用于执行所述第二量子计算任务。
可选地,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰。
可选地,所述基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,包括:
确定所述第二量子计算任务所需比特对应的子拓扑图;
确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图;
基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特;
从所述至少一组物理量子比特中确定一组作为第二物理量子比特。
可选地,所述从所述至少一组物理量子比特中确定一组作为第二物理量子比特,包括:
确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数;
将连接的物理量子比特的总数最少的一组作为第二物理量子比特。
可选地,在所述获取任务队列中的第二量子计算任务之前,所述方法还包括:
接收第二电子设备发送的至少两个第三量子计算任务;
将所述至少两个第三量子计算任务放入所述任务队列中;
基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
可选地,所述基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,包括:
确定每个第三量子计算任务的比特需求数量;
将所述比特需求数量最小的确定为第四量子计算任务;
若所述第四量子计算任务的数量为一个,则将一个所述第四量子计算任务确定为所述第二量子计算任务;
若所述第四量子计算任务的数量为至少两个,则将至少两个所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务。第二方面,本申请实施例提供一种量子计算任务执行装置,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述装置包括:
获取单元,用于获取所述量子芯片的当前拓扑结构;获取任务队列中的第二量子计算任务;
确定单元,用于基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
执行单元,用于将所述第二物理量子比特分配用于执行所述第二量子计算任务。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第六方面,本申请实施例提供了量子计算机操作系统,其中,上述量子计算机操作系统根据本申请实施例第一方面所述的方法中所描述的部分或全部步骤实现量子计算任务的执行。
可以看出,在本申请实施例中,在量子芯片上执行第一量子计算任务时,根据量子芯片的当前拓扑结构和第二量子计算任务确定第二物理量子比特,并将第二物理量子比特分配用于执行第二量子计算任务,由于第二物理量子比特与第一物理量子比特彼此不相互干扰,从而实现了第一量子计算任务与第二量子计算任务在同一个量子芯片上的异步并行。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种量子计算任务执行方法的计算机终端的硬件结构框图;
图1B为本申请实施例中提供的一种量子线路的图形化显示示意图;
图2A为本申请实施例提供的一种量子计算任务执行方法的流程示意图;
图2B为本申请实施例提供的一种量子芯片的拓扑结构图;
图2C为本申请实施例提供的一种第一物理量子比特和第二物理量子比特在图2B上的分布示意图;
图2D为本申请实施例提供的另一种第一物理量子比特和第二物理量子比特在图2B上的分布示意图;
图2E为本申请实施例提供的一种第二量子计算任务所需比特对应的子拓扑图;
图2F为本申请实施例提供的一种图2E在图2B中匹配到的两个同构子拓扑图;
图2G为本申请实施例提供的另一种第二量子计算任务所需比特对应的子拓扑图;
图2H为本申请实施例提供的一种有向无环图;
图2I是本申请实施例提供的一种最大子图构建过程示意图;
图3为本申请实施例提供的另一种量子计算任务执行方法的流程示意图;
图4为本申请实施例提供的一种电子设备的结构示意图;
图5是本申请实施例提供的一种量子计算任务执行装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1A为本申请实施例提供的一种量子计算任务执行方法的计算机终端的硬件结构框图。
参见图1A所示,计算机终端可以包括一个或多个(图1A中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1A所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1A中所示更多或者更少的组件,或者具有与图1A所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子计算任务执行方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。量子线路的展现方式可以是按一定执行时序排列的量子逻辑门序列。
具体的,例如一段量子程序:
QCircuitcir;
cir<<H(q[0])<<H(q[1])<<H(q[2])<<H(q[3])<<RZ(q[0],PI/2)<<RY(q[1],PI/4)<<RZ(q[2],PI/4)<<CNOT(q[0],q[1])<<CR(q[1],q[2],PI/3)<<CNOT(q[2],q[3])<<CNOT(q[0],q[3]).
对应的量子线路(记为1#量子线路),可表示为:
q[0]:H(q[0])、RZ(q[0],PI/2)
q[1]:H(q[1])、RY(q[1],PI/4)、CNOT(q[0],q[1])
q[2]:H(q[2])、RZ(q[2],-PI/4)、CR(q[1],q[2],PI/3)
q[3]:H(q[3])、CNOT(q[2],q[3])、CNOT(q[0],q[3])
其中,q[0]、q[1]、q[2]、q[3]是指比特位从0至3的量子比特,通常也可被记为q0、q1、q2、q3。
更为形象的一种展现方式,与上述量子逻辑门序列对应的量子线路图展示参照图1B所示。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上量子逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门(或单量子逻辑门,简称“单门”),如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特量子逻辑门(或双量子逻辑门,简称“双门”),如CNOT门、CR门、SWAP门、iSWAP门等等;多比特量子逻辑门(或多量子逻辑门,简称“多门”),如Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
量子态,即量子比特的逻辑状态。在量子算法(或称量子程序)中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,在二进制表示方式中从高位到低位排序为q2q1q0,该组量子比特对应的量子态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态的位与量子比特对应一致,如|001>态,001从高位到低位对应q2q1q0,|>为狄拉克符号。对于包含N个量子比特qo、qi、qn、...、qN-1的量子线路,二进制表示量子态的位阶排序为qN-1qN-2...、q1q0。
以单个量子比特说明,单个量子比特的逻辑状态ψ可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数,振幅的模的平方表示概率,a2、b2分别表示逻辑状态是|0>态、|1>态的概率,|a|2+|b|2=1。简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于唯一确定的本征态。
下面结合附图进一步介绍本申请实施例提供的一种量子计算任务执行方法。
参见图2A,图2A为本申请实施例提供的一种量子计算任务执行方法的流程示意图,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述方法包括:
步骤201:获取所述量子芯片的当前拓扑结构。
其中,量子芯片的拓扑结构反映量子芯片上的物理量子比特的空间特点,该空间特点包括量子芯片包含的物理量子比特的数量、位置,以及物理量子比特间的连接关系,它决定了量子芯片的可用情况。
量子芯片的当前拓扑结构包含了量子芯片上当前可被使用的物理量子比特的信息,具体包括当前可被使用的物理量子比特的数量、及其位置和连接关系,该信息可以根据量子芯片上物理量子比特的使用情况确定。量子芯片上物理量子比特的使用情况,示例性的包括:物理量子比特的被占用情况、物理量子比特的保真度决定的是否可以使用的情况等。
步骤202:获取任务队列中的第二量子计算任务。
其中,量子计算任务的类型包括指定比特型和未指定比特型。比特指定型的量子计算任务的优先级高于未指定比特型的量子计算任务。若量子计算任务的类型均为比特指定型,则根据先来先服务原则确定量子计算任务的优先级。若量子计算任务的类型均为未指定比特型,则根据高响应比优先原则确定量子计算任务的优先级。
其中,高响应比优先原则,即根据高响应比优先调度算法(HRRN)确定任务优先级顺序的原则,任务队列中的量子计算任务的优先级会随着等待时间的增加而提高,其中:
其中,所述任务队列中的量子计算任务包括所述第一量子计算任务和所述第二量子计算任务,所述第一量子计算任务的优先级高于所述第二量子计算任务的优先级。第一量子计算任务的类型可以为指定比特型,第二量子计算任务的类型可以为未指定比特型;第一量子计算任务和第二量子计算任务的类型也可以是均为未指定比特型,第一量子计算任务的响应比高于第二量子计算任务的响应比。
需要说明的是,第一量子计算任务和第二量子计算任务的类型均为指定比特型,第一量子计算任务的接收时间先于第二量子计算任务的接收时间(即根据上述先来先服务原则中,第一量子计算任务先来,第二量子计算任务后来),这种情况不做考虑。在本申请实施例中,第二量子计算任务的类型为未指定比特类型,这是因为:若第二量子计算任务为指定比特类型,则不需要去确定第二物理量子比特,直接用指定的比特作为第二物理量子比特执行第二量子计算任务即可。
步骤203:基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰。
其中,第一物理量子比特的数量可以是一个或多个,第二物理量子比特的数量也可以是一个或多个;第一量子计算任务的数量可以是一个或多个,第二量子计算任务的数量也可以是一个或多个,在此,均不做限定。
进一步地,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰的一具体实现方式为:所述第二物理量子比特与所述第一物理量子比特之间的几何距离大于或等于预设距离。
其中,预设距离可以是实验中确定的最小无干扰距离。预设距离例如可以为一个物理量子比特的距离,两个物理量子比特的距离等。
举例说明,如图2B所示,图2B为本申请实施例提供的一种量子芯片的拓扑结构图。量子芯片上包括八个物理量子比特,分别为Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7,拓扑结构如图所示。第一量子计算任务所需要的比特数量为2个,Q0和Q4被分配用于执行第一量子计算任务,Q0和Q4为第一物理量子比特。第二量子计算任务所需要的比特数量为4个,第二量子计算任务的类型为未指定比特型。
图2C为本申请实施例提供的一种第一物理量子比特和第二物理量子比特在图2B上的分布示意图。为了防止第一物理量子比特与第二物理量子比特之间相互干扰,第一电子设备间隔一个物理量子比特设置,将Q2、Q3、Q6、Q7确定为第二物理量子比特,用于执行第二量子计算任务。
进一步地,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰的另一具体实现方式为:所述第二物理量子比特与所述第一物理量子比特之间设置隔离装置,所述隔离装置用于隔离所述第一物理量子比特和所述第二物理量子比特,以防止所述第一物理量子比特与所述第二物理量子比特之间的相互干扰。
举例说明,如图2D所示,图2D为本申请实施例提供的另一种第一物理量子比特和第二物理量子比特在图2B上的分布示意图。为了防止第一物理量子比特与第二物理量子比特之间相互干扰,第一电子设备在Q0、Q4和Q1、Q5之间设置隔离装置,将Q1、Q2、Q5、Q6确定为第二物理量子比特,用于执行第二量子计算任务。
步骤204:将所述第二物理量子比特分配用于执行所述第二量子计算任务。
具体地,所述将所述第二物理量子比特分配用于执行所述第二量子计算任务,包括:确定所述第二量子计算任务对应的量子线路;将所述量子线路中的逻辑量子比特映射到所述第二物理量子比特上;基于所述第二物理量子比特对所述量子线路进行处理得到可执行量子线路;在所述第二物理量子比特上运行所述可执行量子线路。
其中,量子计算任务通常以量子线路进行表示,可执行量子线路是由可直接在量子芯片上执行的量子逻辑门组成的量子线路。在量子算法实现过程中,开发者主要关注量子算法的实现,量子线路中常包含量子芯片不支持的量子逻辑门,因此,在实际运行过程中,需要将量子芯片不支持的量子逻辑门转化为量子芯片支持的量子逻辑门,对量子计算任务对应的量子线路处理得到可执行的量子线路。
可以看出,在本申请实施例中,在量子芯片上执行第一量子计算任务时,根据量子芯片的当前拓扑结构和第二量子计算任务确定第二物理量子比特,并将第二物理量子比特分配用于执行第二量子计算任务,由于第二物理量子比特与第一物理量子比特彼此不相互干扰,从而实现了第一量子计算任务与第二量子计算任务在同一个量子芯片上的异步并行。
在本申请的一实施例中,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰。
需要说明的是,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰同样可以通过设置隔离装置实现,或通过将第一物理量子比特间隔预设距离设置实现,在此不再详细说明。
可以看出,在本申请实施例中,通过将每个所述第一量子计算任务分配的第一物理量子比特设置在彼此不互相干扰的物理量子比特上,实现了多个第一量子计算任务在同一个量子芯片上的同步并行。
在本申请的一实施例中,在所述基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特方面,包括:
确定所述第二量子计算任务所需比特对应的子拓扑图;
确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图;
基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特;
从所述至少一组物理量子比特中确定一组作为第二物理量子比特。
进一步地,所述确定所述第二量子计算任务所需比特对应的子拓扑图的一具体实现方式为:构建所述第二量子计算任务的量子连通拓扑图,所述量子连通拓扑图包括多个拓扑节点以及两个拓扑节点之间的连线,所述拓扑节点用于表示所述第二量子计算任务对应的量子线路中的逻辑量子比特;所述连线用于表示两个逻辑量子比特之间的量子逻辑门;将所述量子连通拓扑图作为所述第二量子计算任务所需比特对应的子拓扑图。
举例说明,假定第二量子计算任务对应的量子线路为:
q[0]:H(q[0])、RZ(q[0],PI/2)
q[1]:H(q[1])、RY(q[1],PI/4)、CNOT(q[0],q[1])
q[2]:H(q[2])、RZ(q[2],-PI/4)、CR(q[1],q[2],PI/3)
q[3]:H(q[3])、CNOT(q[2],q[3])、CNOT(q[0],q[3])
根据上述通过量子连通拓扑图构建第二量子计算任务所需比特对应的子拓扑图方法,可以得到第二量子计算任务所需比特对应的子拓扑图,如图2E所示。
将图2E在图2B中进行遍历查询,可以匹配到两个同构子拓扑图,如图2F所示。根据这两个同构子拓扑图可以得到两组物理量子比特,分别为:Q1、Q2、Q5、Q6和Q2、Q3、Q6、Q7,每组物理量子比特有八种映射方法。从上述两组物理量子比特中任意挑选一组物理量子比特,将其作为第二物理量子比特。
需要说明的是,上述已经提及过,在量子算法实现过程中,开发者主要关注量子算法的实现,量子线路中常包含量子芯片不支持的量子逻辑门,若量子线路中包含量子芯片不支持的量子逻辑门,则此种确定第二量子计算任务所需比特对应的子拓扑图的方法不再适用。
例如第二量子计算任务为QCircuitcir;
cir<<H(q[0])<<H(q[1])<<H(q[2])<<H(q[3])<<RZ(q[0],PI/2)<<RY(q[1],PI/4)<<RZ(q[2],PI/4)<<CNOT(q[0],q[1])<<CR(q[1],q[2],PI/3)<<CNOT(q[2],q[3])<<CNOT(q[0],q[3])<<CNOT(q[0],q[2]).
第二量子计算任务对应的量子线路为:
q[0]:H(q[0])、RZ(q[0],PI/2)
q[1]:H(q[1])、RY(q[1],PI/4)、CNOT(q[0],q[1])
q[2]:H(q[2])、RZ(q[2],-PI/4)、CR(q[1],q[2],PI/3)、CNOT(q[0],q[2])
q[3]:H(q[3])、CNOT(q[2],q[3])、CNOT(q[0],q[3])
量子线路包括该量子芯片不支持的量子逻辑门CNOT(q[0],q[2]),则根据上述通过量子连通拓扑图构建第二量子计算任务所需比特对应的子拓扑图方法,得到的第二量子计算任务所需比特对应的子拓扑图如图2G所示。图2G在图2B中匹配不到同构子拓扑图。然而,实际上是可以通过SWAP门将CNOT(q[0],q[2])转化为量子芯片支持的量子逻辑门,以使得量子线路可以在该量子芯片上运行。
下面本申请实施例提供另外一种确定所述第二量子计算任务所需比特对应的子拓扑图的方法。
进一步地,所述确定所述第二量子计算任务所需比特对应的子拓扑图的另一具体实现方式为:确定所述第二量子计算任务对应的量子线路;构建所述量子线路的有向无环图;遍历所述有向无环图得到最大子图序列;确定所述最大子图序列中最大子图的同构最大子图;将所述同构最大子图进行组合得到所述第二量子计算任务所需比特对应的子拓扑图。
具体地,在所述构建量子程序的有向无环图方面,包括:获取所述量子线路中的量子逻辑门;基于所述量子逻辑门构建有向无环图,所述有向无环图包括节点和有向边;所述节点包括两个点和一条边,所述两个点用于表示所述量子逻辑门对应的两个逻辑量子比特,所述一条边用于表示作用在两个逻辑量子比特上的量子逻辑门;所述有向边用于表示所述量子逻辑门按逻辑量子比特的量子态演化时序的依赖关系。
需要说明的是,若量子线路包括单量子逻辑门、两量子逻辑门、多量子逻辑门,则首先将多量子逻辑门转化成单量子逻辑门和两量子逻辑门,然后将转化后得到的单量子逻辑门和转化前量子线路中本身存在的单量子逻辑门删除,同时记录其在量子程序中的位置、逻辑门、作用比特等信息,用于后续还原构建量子线路,再基于转化后得到的两量子逻辑门和转化前量子线路中本身存在的两量子逻辑门构建有向无环图。有向无环图中单量子逻辑门的存在并不影响最大子图的构建,通过有单量子逻辑门的有向无环图得到的最大子图与通过无单量子逻辑门的有向无环图得到的最大子图相同。因此,在这里为了简便,删除了单量子逻辑门。
具体地,在所述遍历所述有向无环图得到最大子图序列方面,包括:
确定所述有向无环图中的第一节点,所述第一节点的入度为0;基于所述第一节点生成第一子图;删除所述第一节点得到新的有向无环图;确定所述有向无环图中是否存在第二节点,所述第二节点的入度为0;若所述有向无环图中不存在所述第二节点,则将所述第一子图确定为最大子图;将所述最大子图按照生成顺序排列,得到最大子图序列。
进一步地,所述方法还包括:
若所述有向无环图中存在所述第二节点,则确定所述第二节点的优先级,所述第二节点包括两个点和一条边,所述两个点用于表示量子线路中的两个逻辑量子比特,所述一条边用于表示作用在两个逻辑量子比特上的量子逻辑门;所述第二节点的优先级基于所述两个点和一条边、所述第一子图确定;基于所述第二节点的优先级和所述第二节点,生成最大子图。
进一步地,在基于所述第二节点的优先级和所述第二节点,生成最大子图方面,包括:若所述第二节点的优先级为第一优先级,则基于所述第二节点,将所述第一子图拓展为第二子图,以及将所述第二子图作为新的第一子图;删除所述第二节点,再次得到新的有向无环图,然后执行步骤所述确定所述有向无环图中是否存在第二节点。
进一步地,所述方法还包括:
若所述第二节点的优先级为第二优先级,则将所述第二节点作为新的第一节点,然后执行步骤所述基于所述第一节点生成第一子图,所述第一优先级大于所述第二优先级。
进一步地,在将所述第二节点作为新的第一节点之前,所述方法还包括:
删除优先级为第一优先级的第二节点,将所述新的第一子图确定为最大子图。
进一步地,所述第一优先级包括第一子优先级、第二子优先级,所述第二优先级包括第三子优先级、第四子优先级;在所述确定所述第二节点的优先级方面,包括:
若所述第一子图中不存在所述两个点和所述一条边,则将所述第二节点的优先级确定为第四子优先级;
若所述第一子图中存在所述两个点且不存在所述一条边,则将所述第二节点的优先级确定为第三子优先级;
若所述第一子图中存在所述两个点中的其中之一且不存在所述一条边,则将所述第二节点的优先级确定为第二子优先级;
若所述第一子图中存在所述两个点和所述一条边,则将所述第二节点的优先级确定为第一子优先级;
优先级从大到小依次为:所述第一子优先级、所述第二子优先级、所述第三子优先级、所述第四子优先级。
举例说明:对于上述第二量子计算任务对应的量子线路:
q[0]:H(q[0])、RZ(q[0],PI/2)
q[1]:H(q[1])、RY(q[1],PI/4)、CNOT(q[0],q[1])
q[2]:H(q[2])、RZ(q[2],-PI/4)、CR(q[1],q[2],PI/3)、CNOT(q[0],q[2])
q[3]:H(q[3])、CNOT(q[2],q[3])、CNOT(q[0],q[3])
根据上述方法可以构建出该量子线路的有向无环图,如图2H所示。根据上述方法可以得到2个最大子图,分别为q[0]、q[1]、q[2]、q[3]构成的第一最大子图,q[0]、q[2]、q[3]构成的第二最大子图,第一最大子图和第二最大子图构成最大子图序列,如图2I所示,图2I是本申请实施例提供的一种最大子图构建过程示意图。
将第一最大子图和第二最大子图分别在图2B中进行匹配,可以得到多个第一最大子图的同构最大子图和多个第二最大子图的同构最大子图。从多个第一最大子图的同构最大子图和多个第二最大子图的同构最大子图中各选择一个,可以构成第二量子计算任务所需比特对应的子拓扑图。
由于在上述构建最大子图的同构最大子图时,已经确定了逻辑量子比特与物理量子比特的对应关系,因此,这里子拓扑图中逻辑量子比特与物理量子比特的对应关系也是确定的,即同构子拓扑图也是确定的。
在本申请的一实施例中,在所述从所述至少一组物理量子比特中确定一组作为第二物理量子比特方面,包括:
确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数;
将连接的物理量子比特的总数最少的一组作为第二物理量子比特。
其中,对于一维量子芯片结构,则除了两端的物理量子比特只与一个物理量子比特连接,其他的物理量子比特均与两个物理量子比特连接,因此,在两端的物理量子比特可用时,优先从一端开始分配物理量子比特。对于二维和三维量子芯片结构,同样是边缘的物理量子比特连接的其他物理量子比特数量最少,优先分配可用的边缘的物理量子比特。
可见,本实施例优先分配边缘的物理量子比特的方法可以防止量子芯片上可用的物理量子比特被分割成多个不连通的小块,从而在可用的物理量子比特数量足够时却不支持需要相应物理量子比特数量的量子计算任务,提升计算资源的使用效率。
在本申请的一实施例中,在所述获取任务队列中的第二量子计算任务之前,所述方法还包括:
接收第二电子设备发送的至少两个第三量子计算任务;
将所述至少两个第三量子计算任务放入所述任务队列中;
基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
其中,所述至少两个第三量子计算任务的类型均为未指定比特型,所述至少两个第三量子计算任务可以是所述第二电子设备同时发送的,也可以是所述第二电子设备逐个发送的,所述第二电子设备可以是多个也可以是一个,在此不做限定。
其中,量子计算任务对应的量子线路中包含的逻辑量子比特的数量即为该量子计算任务的比特需求数量,它表示量子芯片执行该量子计算任务所需要的物理量子比特的数量。优先级表示任务队列中量子计算任务被执行的顺序。由于所述至少两个第三量子计算任务的类型均为未指定型,因此它们的优先级根据高响应比优先原则确定。响应比基于量子计算任务的等待时间和执行时间确定。
在本申请的一实施例中,在所述基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务方面,包括:
确定每个第三量子计算任务的比特需求数量;
将所述比特需求数量最小的确定为第四量子计算任务;
若所述第四量子计算任务的数量为一个,则将一个所述第四量子计算任务确定为所述第二量子计算任务;
若所述第四量子计算任务的数量为至少两个,则将至少两个所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务。
可以看出,在本申请实施例中,将比特需求数量最少的第三量子计算任务确定为第四量子计算任务,在第四量子计算任务的数量为一个时,将第四量子计算任务确定为第二量子计算任务,比特需求数量越少,越容易在当前拓扑结构中匹配到同构子拓扑图,从而提高匹配的速度,进而提升任务队列调度量子计算任务的速度,提升量子计算资源的利用效率。
在第四量子计算任务的数量为至少两个时,根据优先级去确定第二量子计算任务,提供了一种第二量子计算任务的确定方法,既考虑了量子计算任务的等待时间,又考虑了量子计算任务的执行时间,既照顾了执行时间较短的量子计算任务,又可以使执行时间较长的量子计算任务不必等待的时间过长。
参见图3,图3为本申请实施例提供的另一种量子计算任务执行方法的流程示意图,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰;所述方法包括:
步骤301:获取所述量子芯片的当前拓扑结构。
步骤302:接收第二电子设备发送的至少两个第三量子计算任务。
步骤303:将所述至少两个第三量子计算任务放入所述任务队列中。
步骤304:确定每个第三量子计算任务的比特需求数量。
步骤305:将所述比特需求数量最小的确定为第四量子计算任务。
步骤306:确定所述第四量子计算任务的数量是否为一个;
若是,则执行步骤307;
若否,则执行步骤308。
步骤307:将所述第四量子计算任务确定为所述第二量子计算任务。
步骤308:将所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
步骤309:确定所述第二量子计算任务所需比特对应的子拓扑图。
步骤310:确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图。
步骤311:基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特。
步骤312:确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数。
步骤313:将连接的物理量子比特的总数最少的一组作为第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰。
步骤314:将所述第二物理量子比特分配用于执行所述第二量子计算任务。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
与上述图2A和图3所示的实施例一致的,请参阅图4,图4为本申请实施例提供的一种电子设备的结构示意图,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,如图5所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取所述量子芯片的当前拓扑结构;
获取任务队列中的第二量子计算任务;
基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
将所述第二物理量子比特分配用于执行所述第二量子计算任务。
在本申请的一实施例中,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰。
在本申请的一实施例中,在所述基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特方面,上述程序包括具体用于执行以下步骤的指令:
确定所述第二量子计算任务所需比特对应的子拓扑图;
确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图;
基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特;
从所述至少一组物理量子比特中确定一组作为第二物理量子比特。
在本申请的一实施例中,在所述从所述至少一组物理量子比特中确定一组作为第二物理量子比特方面,上述程序包括具体用于执行以下步骤的指令:
确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数;
将连接的物理量子比特的总数最少的一组作为第二物理量子比特。
在本申请的一实施例中,在所述获取任务队列中的第二量子计算任务之前,上述程序包括还用于执行以下步骤的指令:
接收第二电子设备发送的至少两个第三量子计算任务;
将所述至少两个第三量子计算任务放入所述任务队列中;
基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
在本申请的一实施例中,在所述基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务方面,上述程序包括具体用于执行以下步骤的指令:
确定每个第三量子计算任务的比特需求数量;
将所述比特需求数量最小的确定为第四量子计算任务;
若所述第四量子计算任务的数量为一个,则将一个所述第四量子计算任务确定为所述第二量子计算任务;
若所述第四量子计算任务的数量为至少两个,则将至少两个所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图5,图5是本申请实施例提供的一种量子计算任务执行装置的结构示意图,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述装置包括:
获取单元501,用于获取所述量子芯片的当前拓扑结构;获取任务队列中的第二量子计算任务;
确定单元502,用于基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
执行单元503,用于将所述第二物理量子比特分配用于执行所述第二量子计算任务。
在本申请的一实施例中,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰。
在本申请的一实施例中,在所述基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特方面,所述确定单元502,具体用于:
确定所述第二量子计算任务所需比特对应的子拓扑图;
确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图;
基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特;
从所述至少一组物理量子比特中确定一组作为第二物理量子比特。
在本申请的一实施例中,在所述从所述至少一组物理量子比特中确定一组作为第二物理量子比特方面,所述确定单元502,具体用于:
确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数;
将连接的物理量子比特的总数最少的一组作为第二物理量子比特。
在本申请的一实施例中,在所述获取任务队列中的第二量子计算任务之前,所述装置还包括接收单元504和放入单元505,其中:
接收单元504,用于接收第二电子设备发送的至少两个第三量子计算任务;
放入单元505,用于将所述至少两个第三量子计算任务放入所述任务队列中;
确定单元502,还用于基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
在本申请的一实施例中,在所述基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务方面,确定单元502,具体用于:
确定每个第三量子计算任务的比特需求数量;
将所述比特需求数量最小的确定为第四量子计算任务;
若所述第四量子计算任务的数量为一个,则将一个所述第四量子计算任务确定为所述第二量子计算任务;
若所述第四量子计算任务的数量为至少两个,则将至少两个所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务。
需要说明的是,获取单元501、确定单元502、执行单元503和放入单元505可通过处理器实现,接收单元504可通过通信接口实现。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
本申请实施例还提供一种量子计算机操作系统,该量子计算机操作系统根据上述方法实施例中记载的任一方法的部分或全部步骤实现所述量子计算平台的适配。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种量子计算任务执行方法,其特征在于,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述方法包括:
获取所述量子芯片的当前拓扑结构;
获取任务队列中的第二量子计算任务;
基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
将所述第二物理量子比特分配用于执行所述第二量子计算任务。
2.根据权利要求1所述的方法,其特征在于,所述第一量子计算任务的数量为至少两个,至少两个所述第一量子计算任务在所述量子芯片上同步执行,所述第一电子设备为每个所述第一量子计算任务分配的第一物理量子比特彼此不相互干扰。
3.根据权利要求1所述的方法,其特征在于,所述基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,包括:
确定所述第二量子计算任务所需比特对应的子拓扑图;
确定所述子拓扑图在所述当前拓扑结构中的同构子拓扑图;
基于所述同构子拓扑图确定所述量子线路中的逻辑量子比特在所述量子芯片中映射的至少一组物理量子比特;
从所述至少一组物理量子比特中确定一组作为第二物理量子比特。
4.根据权利要求3所述的方法,其特征在于,所述从所述至少一组物理量子比特中确定一组作为第二物理量子比特,包括:
确定所述至少一组物理量子比特中每组物理量子比特连接的物理量子比特的总数;
将连接的物理量子比特的总数最少的一组作为第二物理量子比特。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述获取任务队列中的第二量子计算任务之前,所述方法还包括:
接收第二电子设备发送的至少两个第三量子计算任务;
将所述至少两个第三量子计算任务放入所述任务队列中;
基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,所述优先级基于量子计算任务的等待时间和执行时间确定。
6.根据权利要求5所述的方法,其特征在于,所述基于比特需求数量和优先级从所述至少两个第三量子计算任务中确定所述第二量子计算任务,包括:
确定每个第三量子计算任务的比特需求数量;
将所述比特需求数量最小的确定为第四量子计算任务;
若所述第四量子计算任务的数量为一个,则将一个所述第四量子计算任务确定为所述第二量子计算任务;
若所述第四量子计算任务的数量为至少两个,则将至少两个所述第四量子计算任务中优先级最高的确定为所述第二量子计算任务。
7.一种量子计算任务执行装置,其特征在于,应用于包括量子芯片的第一电子设备,所述量子芯片中的第一物理量子比特被分配用于执行第一量子计算任务,所述装置包括:
获取单元,用于获取所述量子芯片的当前拓扑结构;获取任务队列中的第二量子计算任务;
确定单元,用于基于所述当前拓扑结构和所述第二量子计算任务确定第二物理量子比特,所述第二物理量子比特与所述第一物理量子比特彼此不相互干扰;
执行单元,用于将所述第二物理量子比特分配用于执行所述第二量子计算任务。
8.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-6任一项所述的方法。
10.一种量子计算机操作系统,其特征在于,所述量子计算机操作系统根据权利要求1-6任一项所述的方法实现量子计算任务的执行。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110479525.8A CN115271080A (zh) | 2021-04-30 | 2021-04-30 | 量子计算任务执行方法、装置及量子计算机操作系统 |
PCT/CN2022/087847 WO2022228224A1 (zh) | 2021-04-29 | 2022-04-20 | 量子计算任务执行方法、装置及量子计算机操作系统 |
EP22794695.1A EP4332840A1 (en) | 2021-04-29 | 2022-04-20 | Quantum computing task execution method and apparatus, and quantum computer operating system |
US18/495,638 US20240061724A1 (en) | 2021-04-29 | 2023-10-26 | Quantum computing task execution method and apparatus, and quantum computer operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110479525.8A CN115271080A (zh) | 2021-04-30 | 2021-04-30 | 量子计算任务执行方法、装置及量子计算机操作系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115271080A true CN115271080A (zh) | 2022-11-01 |
Family
ID=83744940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110479525.8A Pending CN115271080A (zh) | 2021-04-29 | 2021-04-30 | 量子计算任务执行方法、装置及量子计算机操作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115271080A (zh) |
-
2021
- 2021-04-30 CN CN202110479525.8A patent/CN115271080A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010681B2 (en) | Distributed computing system, and data transmission method and apparatus in distributed computing system | |
US8065503B2 (en) | Iteratively processing data segments by concurrently transmitting to, processing by, and receiving from partnered process | |
US20150261881A1 (en) | Logical data flow mapping rules for (sub) graph isomorphism in a cluster computing environment | |
JP2011505038A (ja) | チェーン化デバイスシステムにおいてパラメータを設定し待ち時間を決定する方法 | |
CN109947565A (zh) | 用于分配计算任务的方法和装置 | |
US20240061724A1 (en) | Quantum computing task execution method and apparatus, and quantum computer operating system | |
CN109213745B (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN114912618A (zh) | 一种量子计算任务调度方法、装置及量子计算机操作系统 | |
CN115271080A (zh) | 量子计算任务执行方法、装置及量子计算机操作系统 | |
CN113553279B (zh) | 一种rdma通信加速集合通信的方法及系统 | |
CN115879562A (zh) | 一种量子程序初始映射的确定方法、装置及量子计算机 | |
CN115983392A (zh) | 量子程序映射关系的确定方法、装置、介质及电子装置 | |
CN113395183B (zh) | 网络仿真平台vlan互联的虚拟节点调度方法与系统 | |
CN115705496A (zh) | 一种量子计算机操作系统和量子计算机 | |
CN115423108A (zh) | 量子线路切割处理方法、装置及量子计算机操作系统 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN113535388B (zh) | 面向任务的服务功能聚合方法 | |
CN115511088A (zh) | 量子计算任务处理方法、装置及量子计算机操作系统 | |
WO2022222944A1 (zh) | 量子计算平台适配方法、装置及量子计算机操作系统 | |
CN115310613A (zh) | 量子计算平台适配方法、装置及量子计算机操作系统 | |
CN115511094B (zh) | 量子线路执行结果确定方法、装置及量子计算机操作系统 | |
CN115511089A (zh) | 量子计算任务处理方法、装置及量子计算机操作系统 | |
CN115204399A (zh) | 一种量子计算任务计算方法、装置及量子计算机操作系统 | |
CN115310614A (zh) | 量子线路构建方法、装置及量子计算机操作系统 | |
CN115310612A (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 | ||
CB02 | Change of applicant information |
Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd. Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI |
|
CB02 | Change of applicant information |