CN110569979B - 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 - Google Patents
面向嘈杂中型量子设备的逻辑-物理比特重映射方法 Download PDFInfo
- Publication number
- CN110569979B CN110569979B CN201910865893.9A CN201910865893A CN110569979B CN 110569979 B CN110569979 B CN 110569979B CN 201910865893 A CN201910865893 A CN 201910865893A CN 110569979 B CN110569979 B CN 110569979B
- Authority
- CN
- China
- Prior art keywords
- bit
- gate
- physical
- logic
- quantum
- 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
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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Advance Control (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种面向嘈杂中型量子设备的逻辑‑物理比特重映射方法,针对量子硬件存在的限制,为使量子程序得以在量子设备上有效执行,通过改变量子指令次序和***SWAP操作完成必要的重映射,使得量子程序适应量子设备的限制,并使执行时间和量子门的数目等执行代价尽可能小。
Description
技术领域
本发明涉及量子计算技术领域,尤其涉及一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法。
背景技术
量子计算是利用量子力学现象(如叠加和纠缠等)进行计算的设备。目前已被证明量子计算可以在量子多项式时间内解决经典计算机中的某些NP难问题,例如Shor算法能在量子多项式时间内求解大数质因子和离散对数难题,使破解RSA公钥成为可能。
在量子计算中,信息存储在量子比特中。与经典比特类似,量子比特也有状态,它可以是|0>或|1>这两种基态,也可以是|0>和|1>的线性组合,称为叠加态。比如,单量子比特的状态(即其波函数)|ψ>可表示为:
|ψ>=α|0>+β|1> (1)
α和β为复数,满足|α|2+|β|2=1,故单量子比特状态也可以表示成维度为2的向量(α,β)T,该向量的模长为1。
当多个量子比特纠缠在一起时,对应的基态数会呈指数上升。N量子比特纠缠的***有2N种基态,***状态可表示为基态的线性叠加。比如双量子比特***就有|00>,|01>,|10>,|11>四个基态,其状态也可以处于这四个基态的线性叠加,如:
|ψ>=a|00>+b|01>+c|10>+d|11>
a,b,c,d为复数,且满足|a|2+|b|2+|c|2+|d|2=1。该状态同样可表示为一个模长为1、维度为4的向量(a,b,c,d)T。一般地,N个量子比特的波函数可以用一个2N维的向量表示。
利用量子比特的叠加性质,量子计算机储存信息的能力会随量子比特数增加而呈指数级上升。对量子***的测量操作会使***随机地坍缩到基态,概率取决于每个基态前的系数。如对于前述式(1)中的量子比特,有|α|2的概率坍缩到|0>、|β|2的概率坍缩到|1>。
量子计算在过去10年的发展中衍生出的技术栈大致如图1所示。最顶层为量子算法,如分解质因数的Shor算法;往下是各种量子编程语言以及对应的编译器;再往下是量子指令集体系结构以及量子计算平台(模拟器或量子硬件)。目前比较常见的独立量子编程语言有IBMQ推出的量子线路级别的OpenQASM、微软的Q#等;还有可以嵌入Python中供程序员使用的语言ProjectQ、Quil等。高级编程语言被编译器翻译为量子汇编语言或量子微指令集。
量子程序的主体是一段对量子比特的操作序列,对量子比特的操作称为量子门,它可以改变一个或多个量子比特的状态。量子程序通过操作改变量子比特的状态来实现算法。例如图2为一段OpenQASM代码,第1-2行的qreg与creg分别声明了量子比特与经典比特寄存器,之后的每一行是一个作用于1个或2个量子比特的量子门操作。
作用在n个量子比特上的量子门g可以用一个2n×2n的矩阵M来表示,该量子门操作g=g(q1,...,qn)相当于将量子门代表的矩阵乘上量子比特对应的向量(用波函数|ψ>表示),|ψ′>=M|ψ>是量子门作用后的波函数。其中,g是包含有参数信息的量子门操作,g是一个量子门名称。实际上,在N个量子比特的***中,全局波函数|ψ>可以写作各个量子比特的直积形式:
所以对作用在其中第i(1≤i≤N)个比特上的单量子门g,其矩阵为Mg,其对全局波函数|ψ>的作用可以用Mg与(N-1)个单位阵的直积,即(Mg为直积运算中的第i个运算对象)来表示。矩阵M也即包含了门g作用于哪些比特上的信息。
设两个量子门操作g1=g1(Q1)、g2=g2(Q2)分别作用在量子比特数组Q1和Q2上(Q1和Q2可能有交集),g1和g2对全局波函数的影响用矩阵M1、M2表示。如果先执行g1、随即执行g2,其效果|ψ′>=M2M1|ψ>和先执行g2、随即执行g1的效果|ψ">=M1M2|ψ>总是相同,即M2M1|ψ>=M1M2|ψ>,则称g1和g2对易。考虑到计算满足结合律,可以得到g1和g2对易的充分必要条件为M1M2=M2M1。
量子程序在运行时有很强的并行能力。如果两个量子门所要操作的量子比特没有重叠,那么称这两个门可并行,两两相互并行的量子门一般可以同时执行。例如,图2中第3行是对量子比特Q[1]操作的量子门,第4行是对量子比特Q[2]操作的量子门,因此这两个量子门可以同时执行。为了减少程序运行的时间,量子计算机可以采用最大并行化策略,即每个时刻执行尽可能多的量子门。
量子程序可以运行在量子程序模拟器或量子计算机上。ProjectQ、Qiskit、ScaffCC、HiQ等平台都提供量子程序模拟器;而潜在实现量子计算机的量子技术种类多样,如超导、离子阱、中性原子、光学等,目前已有基于超导、离子阱构建的量子计算机,其中基于超导的IBM Q5 Yorktown与Tenerife和Q14的Melbourne等可公开在线使用。
量子计算机在2018年进入NISQ(嘈杂中型量子)阶段。该阶段的量子计算机的特点有:1)由50到100个量子比特构成。量子比特数一方面已经超过经典计算机在合理时间能模拟的上限,另一方面远不足以完成和经典计算机类似的比特纠错功能。2)硬件含有大量噪声,导致信息失真。处于叠加态的量子比特会随时间推移和与周围环境产生纠缠而导致量子比特中储存的信息失真(量子的退相干性);并且由于量子门受限于硬件限制,其执行也存在一定的错误率,进一步导致量子比特储存的信息失真。
此外,不同量子***物理实现下的多个量子比特在布局和支持的量子门种类及操控上有不同的特点和限制。直接施加于多个量子比特的多量子门在物理上难实现,目前仅支持有限的双量子门(如量子受控非门CNOT)并且其仅能作用于某些量子比特对上。称这样的量子比特对所涉及的两个量子比特是相邻的。如果两个量子比特q1和q2相邻,假设双量子门g作用于q1和q2的两种操作g(q1,q2)和g(q2,q1)都是允许的;并且如果平台支持多种双量子门,则对任意两种量子门g1、g2,如果允许操作g1(q1,q2),则g2(q1,q2)也一定是允许的。作用在两个以上量子比特的门可以分解为一组单量子门和双量子门来间接实现。不同种类的量子门、甚至作用在不同量子比特位置的同一种量子门在执行时间和引入的失真率等方面都可能各不相同。
量子算法设计和编程人员往往并不了解或很难理解量子硬件上的限制。一般地,称量子程序中使用的量子比特为逻辑比特,不受量子硬件限制的影响;而称实际量子硬件中的受限量子比特为物理比特;称量子程序中作用于逻辑比特上的量子门为逻辑门,作用在物理比特上的门为物理门。为了使量子程序得以在量子硬件上执行,量子程序编译***需要在其后端进行逻辑-物理比特映射和量子线路变换。
针对逻辑-物理比特映射,一般先将量子程序中使用的每个逻辑比特映射到一个物理比特,称为初始映射π。程序中如果出现受量子硬件限制无法执行的门,就需要对程序加以变换并将相应逻辑比特重映射到其他物理比特上。一种常用的方法是利用SWAP门交换两个相邻物理比特间的信息,从而将量子比特信息路由到量子门可以执行的位置,这相当于改变了逻辑比特的映射位置。设在映射π时执行s=SWAP(q1',q2'),其中q1'和q2'为物理比特,SWAP(q1',q2')实际交换物理比特q1'和q2'间的状态,交换后映射将变为π|s,其中
这里称需要路由操作的逻辑门为远程门;而无需路由即可执行的逻辑门为立即门。在多数量子***下,SWAP门一般可以分解为三个CNOT门或其他门操作来实现。通过映射和重映射可以使量子程序适应硬件限制并得以执行。
量子比特映射问题已被证明为NP-complete问题,因此采用全局求解方式时空消耗过大,仅能处理极小规模的程序;实际多采用启发式方法求解该类问题。针对量子比特重映射问题,已有的研究成果均假设各种量子门的执行时间均相同,并在此基础上,求解使得程序运行时间较短的重映射方法。但是在实际量子硬件中,不同种类量子门的执行时间有较大偏差。这使得这些方法因未考虑量子门执行时间的差异性,而无法有效利用量子计算机的并行能力,找到尽可能减少实际运行时间的重映射方法。
发明内容
本发明的目的是提供一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,能够使得量子程序适应量子设备的限制,并使执行时间和量子门的数目等执行代价尽可能小。本发明通过对量子硬件建模,并基于抽象模型设计考虑量子程序上下文以及量子门执行时间差异性的重映射方法。与传统映射方案相比,经本发明方法重映射后的代码执行时间较已有的同类方法普遍较短。
本发明的目的是通过以下技术方案实现的:
一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,包括:
获取量子程序的逻辑门序列、以及逻辑-物理比特的初始映射;
结合准备运行该量子程序的量子设备的约束信息与逻辑-物理比特的初始映射,通过改变逻辑门的次序以及***SWAP操作完成重映射,获得满足量子设备约束信息的指令调度序列,并确保执行代价最小;指令调度序列中每个元素是要执行的物理门及其起始执行时刻组成的二元组。
由上述本发明提供的技术方案可以看出,针对量子硬件存在的限制,为使量子程序得以在量子设备上有效执行,通过改变量子指令次序和***SWAP操作完成必要的重映射,使得量子程序适应量子设备的限制,并使执行时间和量子门的数目等执行代价尽可能小。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明背景技术提供的量子计算机技术栈示意图;
图2为本发明背景技术提供的一段OpenQASM代码示意图;
图3为本发明实施例提供的量子程序的编译和执行过程示意图;
图4为本发明实施例提供的物理比特的标志字示意图;
图5为本发明实施例提供的量子指令模拟执行和最大并行化算法的示意图;
图6为本发明实施例提供的量子比特矩形网络示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种面向嘈杂中型量子设备的逻辑-物理比特重映射;首先,获取量子程序的逻辑门序列、以及逻辑-物理比特的初始映射;然后,结合准备运行该量子程序的量子设备的约束信息与逻辑-物理比特的初始映射,通过改变逻辑门的次序以及***SWAP操作(交换操作)完成重映射,获得满足量子设备约束信息的指令调度序列,并确保执行代价最小;指令调度序列中每个元素是要执行的物理门及其起始执行时刻组成的二元组。
本领域技术人员可以理解,交换操作,作用于两个物理比特,用来交换这两个物理比特的状态。
如图3所示,为量子程序的编译和执行过程示意图。量子程序是通过手工编写或由高级语言编译生成的线路级量子汇编程序(以OpenQASM为例)。首先,要对量子程序进行预处理,使其适应目标平台的指令集,并平展化(通过图3所示的平展化模块实现)为连续顺序执行的逻辑门序列;在预处理期间,还可以对量子程序实施其他优化技术。此后,预处理后的量子程序经初始映射与重映射(通过图3所示的重映射模块实现)得到作用在物理比特上的指令序列。初始映射负责在程序开始执行时将程序中的逻辑比特映射到物理比特,映射后的结果可能存在双量子门作用于不相邻物理比特的违例。重映射算法根据输入的初始映射和逻辑门序列,得到满足物理比特约束的指令序列,其中部分指令可以并行执行。重映射的输出会标注最大并行化下所有指令的计划开始时间与结束时间作为硬件发射指令时间的参考,这里的时间是相对时间。本发明的主要贡献集中在重映射算法的设计和实施。
本发明提出的重映射算法重点在于考虑重映射处的上下文环境和指令的并行化特征。因为量子程序中的量子门之间可能存在的并行性以及某些量子门对之间的可交换性,在不改变程序语义的条件下每个时刻可以开始执行的量子门往往有多个。重映射算法需要为其中希望开始执行、但因硬件几何限制(如所作用的量子比特不相邻)而无法执行的逻辑门安排路由。对于已经满足几何限制且可以执行的逻辑门,重映射算法会安排原位执行所要求的量子门;对于硬件限制无法原位执行的逻辑门,算法将按照一种启发式策略安排路由,将逻辑比特重映射到另一位置的物理比特并执行所要求的量子门。为了使路由路径尽可能合理,重映射算法会尽可能多地考虑路由对接下来可能执行的量子门的影响,并合理安排指令执行次序。因此,算法需要了解究竟哪些量子门的次序可以被改变、拟实施的路由对后续量子门的影响等。
本发明中重映射算法将模拟一遍量子程序执行的过程,在不改变程序语义下可能部分打乱各门顺序并添加SWAP操作。在模拟执行过程中,针对未执行的逻辑门操作序列G及其中的一个门操作g,若g和g之前所有未执行的门操作都是对易的,则接下来先执行g并不会改变序列的执行结果,称这样的g为候选门。需要注意的是,量子程序中某程序点的候选门集合中的元素并不一定都可并行,比如作用在同一比特上的Y门和H门对易但不能并行。
在介绍重映射算法的具体实现方式之前,先对量子硬件进行抽象:
考虑两个逻辑门g1(Q1)和g2(Q2),若则这两个门一定对易;否则,其是否对易取决于门g1、g2的性质。若比特q∈Q1∩Q2,则称q为g1(Q1)和g2(Q2)的共同作用比特。对于多比特量子门的情况,对易关系与共同作用比特位于多比特量子门的形参位置有关,记g的第i个形参位置为g.i。如果g是单比特门,可以直接用g表示其形参位置。如CX(q1,q2)和X(q1)不对易,CX(q2,q1)却和X(q1)对易,这里q1和q2为不同比特。为此,定义,若对任意量子门g1(Q1)和g2(Q2),且Q1∩Q2={q},q为g1的第i个实参并且为g2的第j个实参,必有g1(Q1)和g2(Q2)对易,则记g1.i与g2.j对易。若对受控门或单量子门g1(Q1)和g2(Q2)的每一共同作用比特qk,设qk为g1的第ik个参数且为g2的第jk个参数,都有g1.ik与g2.jk对易,则g1(Q1)和g2(Q2)对易。若可以得到类似表1的对易关系表,该二维表是对称的。其中,H、X、Y、Rz、CX等为量子门符号。
注意:对易关系表表1中各行和各列的标题代表所支持的物理门的各个形参位置;由于单比特量子门g(g可以为H、X、Y、Z、Rz之一)只有一个参数,故将g.1简记为g;而双比特量子门CX的第一和第二个形参位置分别代表控制比特C和受控比特T,故将CX.1和CX.2也分别记为CX.C和CX.T。
表1量子操作之间的对易关系表
本发明假设不同的量子指令(包含量子门和测量等操作),尤其是各种量子门在执行时间上会有差异,同种量子门在不同时间或物理比特上的执行具有相同执行时长。为了设计适用不同量子硬件的量子比特映射算法,本发明以指令调度周期(以下简称调度周期)为基本单位对量子硬件的量子指令执行时间进行抽象。假定量子程序中第一条指令开始执行的时刻记为0,每条量子指令均从某个调度周期的开始时刻执行,执行时长为调度周期的整数倍(即保证该量子指令执行完的最小整数倍)。本发明用倍数表示指令的执行时长,并允许用户设置每种量子指令的执行时长。如在IBM实现的超导计算机中可以取单量子酉门(U)和量子受控非门(CNOT,也称CX)的执行时间为1和2,SWAP操作用三个CNOT门实现,故其执行时间设为6。
如果一条量子指令正在执行,则称其作用的比特忙碌,否则称空闲。本发明假定无法并行化的两条指令(即它们都作用于某个相同比特)不能同时执行,其余情况下只要指令所需的所有物理比特空闲,该指令就可以在随后的任意调度周期开始时刻执行。
下面针对本发明所涉及的重映射方案以及执行重映射方案过程中所涉及的相关算法的优选实施方式进行详细的介绍。
一、量子比特重映射的总体方案。
在前文的量子硬件抽象下,给定量子程序的逻辑门序列G和初始映射π,量子比特重映射将输出满足量子硬件约束的指令调度序列,序列中每个元素是要执行的物理门及其起始执行时刻组成的二元组。重映射算法通过模拟量子指令的执行来完成量子比特映射和量子指令的调度。为了跟踪物理比特的空闲情况,为每个物理比特定义一个tend属性,来表示相应比特结束忙碌时刻,对于物理比特q,其tend属性记为q.tend,全体物理比特的tend属性集记为Tend;初始时,各比特的tend属性为0,若当前时刻t≥q.tend,则比特q空闲;
重映射的步骤包括:
步骤A1、设置当前时刻t=0,初始化输出指令调度序列I={};
步骤A2、初始化tend属性,将各物理比特的tend属性置为0;
步骤A3、利用候选门集的近似求解算法结合逻辑门序列G、以及逻辑-物理比特的映射π(π是当前逻辑比特到物理比特的映射,在重映射开始执行时该映射称为初始映射,由外部传入;在重映射执行的过程中,π需要不断变化来适应量子硬件的限制),计算当前候选门集C;其中候选门是指,对于一个逻辑门g,如果逻辑门g与逻辑门g之前所有未执行的逻辑门都是对易的,则接下来先执行逻辑门g并不会改变序列的执行结果,则逻辑门g为候选门;
步骤A4、对于当前候选门集C中的立即门集合CI,依次遍历CI中的每个逻辑门g,执行:步骤A41、如果逻辑门g作用的逻辑比特所映射到的物理比特均空闲,则利用量子指令模拟执行和最大并行化算法,结合指令调度序列I以及属性集Tend发射逻辑门g对应的物理指令(由g对应的物理门及作用的物理比特组成),并从逻辑门序列G中去掉g;步骤A42、取立即门集合CI中的下一个逻辑门,继续执行步骤A41,直至立即门集合CI为空;否则执行步骤A5;
步骤A5、对于当前候选门集C中的远程门集合CR,执行:步骤A51、利用最优路由的启发式算法,结合逻辑-物理比特映射π、属性集Tend、以及远程门集合CR得到SWAP操作序列S;步骤A52、对于SWAP操作序列S中的每个SWAP操作,首先根据相应SWAP操作所交换的两个物理比特来更新逻辑-物理比特映射π中对应的比特映射,再利用量子指令模拟执行和最大并行化算法,结合指令调度序列I以及属性集Tend发射对应的物理指令(如SWAP操作对应于3条CX指令);所述远程门是指需要路由操作的逻辑门,所述立即门是指无需路由即可执行的逻辑门;
步骤A6、令当前时刻t=t+1;
步骤A7、返回步骤A3,直到逻辑门序列G为空。
需要说明的是,在上述步骤A5中,采用最优路由的启发式算法有时可能不会输出路由SWAP,这将在后文中进行详细说明。在极特殊的情况下,可能出现全局或某一局域内各个比特空闲,但候选门中既没有立即门可被执行,启发式算法也没有给出可行的路由比特的情况。类似的情况称作“死锁”。有关死锁的讨论详见后文。
二、候选门集的近似求解算法。
在前文的步骤A3中,使用候选门集的近似求解算法来求解当前候选门集C。
给定当前时刻t下的未执行逻辑门序列G,由候选门的定义可以求解候选门集,但是会比较费时。考虑到实际硬件支持的量子比特数量和量子门种类十分有限,为每个物理比特引入长度固定的标志字,在标志字中,为每个物理门g的每个形参位置g.i设置一个标志位;随后依次读入逻辑门序列G中的逻辑门,标志位为真表示逻辑门对应参数位置和已经读入的所有逻辑门都对易。图4给出了物理比特标志字的示意图。
本发明实施例提供两种快速求解候选集的方法,第一种方法如下:
步骤B1、初始时,当前候选门集C为空集,每个物理比特的各标志位均为真;
步骤B2、依次正向遍历所有未执行的逻辑门,执行:
步骤B21、设当前逻辑门为g=g(Q),Q表示逻辑门g所作用的逻辑比特数组;如果对每个逻辑比特q∈Q,q是g的第i个参数,其对应的物理比特q’=π(q)的g.i标志位都为真,则将逻辑门g放入候选门集C;
步骤B22、对所有逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列(可通过查对易关系表表1找到名为g.i的列),若该列存在有值为0的单元,该单元的行名为g'.j,表示g'.j与g.i不对易,则置物理比特q’的g'.j对应标志位为假;
步骤B23、取下一个逻辑门,继续循环,直到遍历结束或所有的标志位都为假。
第一种方法理论上可以找出所有的候选门。但对于门种类较多或未执行的量子门序列较长时,算法的时间消耗和空间消耗仍然很大。另外,由于随后的算法需要频繁更新候选门集,上述算法不能有效利用上次的结果。假设上一次获取到的候选门集为C0,之后执行了C0中的几个门,使C0变为C0',则此时C0'中的门仍然都是候选门,因此,可以对第一种方法进行改进:
1)初始候选门集利用上一次的结果,避免大量重复计算。
2)增加循环终止条件,只在一定范围内的门中筛选候选门,避免过长的时间消耗。
以上改进可以进一步显著缩小算法的执行时间。改进后的算法为近似算法,求出的集合是实际候选门集的子集,但差别不会很显著。
则第二种方法为:
步骤C1、重映射每一次迭代过程中,均需要求解候选门集,第一次求解候选门集时,候选门集C为空集;
步骤C2、之后的重映射迭代过程求解候选门集时,将上一次求解的候选门集记为Clast,设Clast子集Cemitted已经在上一次重映射中被发射和去除,则记集合C0=Clast-Cemitted;
步骤C3、记每个物理比特的各标志位均为真;
步骤C4、遍历集合C0中逻辑门g=g(Q),Q表示逻辑门g所作用的逻辑比特数组;对每个逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列,若相应列存在有值为0的单元,则相应单元的行名记为g'.j,表示g'.j与g.i不对易,则置物理比特q’=π(q)的g'.j对应标志位为假;
步骤C5、依次正向遍历所有未执行的逻辑门,设当前逻辑门为g=g(Q),执行:
步骤C51、如果g已经在候选门集C中,则继续取下一个逻辑门;否则,执行步骤C52;
步骤C52、如果对每个逻辑比特q∈Q,q是g的第i个参数,其对应的物理比特q’的g.i标志位都为真,则将g放入候选门集C;否则,执行步骤C53;
步骤C53、对所有逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列,若相应列存在有值为0的单元,则相应单元的行名记为g'.j,表示g'.j与g.i不对易,则置物理比特q’的g'.j对应标志位为假;
步骤C54、取下一个逻辑门,继续循环,直到遍历结束或遍历的逻辑门总数超过设定值N。
三、量子指令模拟执行和最大并行化算法。
所述量子指令模拟执行和最大并行化算法,应用在前述步骤A4与A5中,负责发射作用于物理比特的物理门g’或者SWAP操作对应的物理指令,设置和判断物理比特的忙碌或空闲状态。
本发明实施例中,在进行量子指令模拟执行和最大并行化算法之前,已经利用映射π将逻辑门g作用的逻辑比特数组Q通过映射π转换为物理比特数组Q’=π(Q),则逻辑门g变为物理门g’,需要说明的是,逻辑门与物理门的实际操作内容没有改变,区别仅在于操作对象由逻辑比特改为物理比特。
每当重映射算法中要发射一条指令g’=g(Q’)(这里Q’为物理比特数组)或者SWAP操作时,量子指令模拟执行和最大并行化算法接收相应指令,然后执行如下操作:
1)对于物理门g’作用的每个物理比特q’∈Q’,求出其最晚结束忙碌时刻tm=max{q’.tend},由于只有物理比特空闲时才能发射指令,显然,tm≤t;设物理门g’执行时长为τ,则对每一物理比特q’∈Q’,置q’.tend=tm+τ。
2)对于SWAP操作,则发射SWAP操作对应的物理实现指令,如3条CX操作及其起始执行时刻。
本发明实施例中,量子指令模拟执行和最大并行化算法在t时刻接收到的物理指令g’并没有直接在t时刻执行,而是向前追溯其作用的所有物理比特都结束忙碌状态后的最早时刻作为g’开始执行的时刻,此时刻是g’可以执行的最早时刻。考虑到重映射算法有一定的局部性,可能出现未及时预料的指令(通常是SWAP)被较晚发送。量子指令模拟执行和最大并行化算法假设在量子计算机有足够的并行能力,能在所有指令可以开始执行时立即执行,因此为最大并行化算法。在给定了指令序列的情况下,量子指令模拟执行和最大并行化算法保证了指令的尽早执行,使接收的量子指令得以最大并行化。
如图5的(a)部分所示,当前需要执行CX(q1,q3),由于q1和q3不相邻,故最优路由的启发式算法安排一个SWAP(q2,q3)操作,使得之后可以在相邻的q1和q2上实施CX操作。量子指令模拟执行和最大并行化算法并未直接安排SWAP指令在当前时刻(虚线处)开始执行,而是向前追溯到尽可能早的时刻(如图5的(b)部分所示),从而使SWAP和后续的CX(以及其他可能受影响的门)都得以提前(如图5的(c)部分所示)。
四、最优路由的启发式算法。
本发明实施例提供一种最优路由的启发式算法,用于为非空的候选远程门集合CR给出一组近似最优的SWAP操作S。设CR中每个门作用的物理比特组成的集合为Q’。对于物理比特数组Q’中的空闲比特q1’,如果存在与物理比特q1’相邻的物理比特q2’且q2’空闲,则称q1’与q2’之间的SWAP操作为候选SWAP,所有候选SWAP组成的集合称为SWAP候选集。
利用最优路由的启发式算法,获取SWAP操作序列S的步骤包括:
步骤D1、令SWAP操作序列S={};
步骤D2、求出当前SWAP候选集Sc;假设逻辑门g为远程门,将逻辑门g作用的逻辑比特数组Q通过映射π转换为物理比特数组Q’(Q’=π(Q)),则逻辑门g变为物理门g’,此处称为远程门g’,对于物理比特数组Q’中的空闲比特q1’,如果存在与物理比特q1’相邻的物理比特q2’且q2’空闲,则称物理比特q1’与q2’之间的SWAP操作为候选SWAP;
步骤D3、对每个候选SWAP操作sk∈Sc,进行优先级的计算(具体方式将在后文进行介绍);
步骤D4、选出优先级最高的SWAP操作s,如果SWAP操作s优先级小于1;或者,如果物理比特之间的相邻关系能够建模为矩形网格,SWAP操作s的优先级小于<1,0>,终止算法,输出当前得到的SWAP操作序列S;
步骤D5、更新SWAP操作序列:S=S∪{s};
步骤D6、从SWAP候选集Sc中去掉SWAP操作s以及与SWAP操作s有共同物理比特的SWAP操作;
步骤D7、更新映射,π=π|s,即,在映射π时执行SWAP操作s后映射π变更新为π|s;
步骤D8、返回步骤D3,直到SWAP候选集为空。
上述算法执行过程中每次选出SWAP都会从候选SWAP中排除掉和选出的SWAP不可并行的SWAP,因此产生的所有SWAP操作S互相并行且可以立即执行。算法的返回值为S,也即SWAP操作序列。
然而,上述执行过程中可能所有候选SWAP操作sk∈S的优先级都小于1或者小于<1,0>,此时可能有如下两种情况:
第一种情况,某些候选门需要路由,但是这些候选门作用的某个物理比特处于忙碌状态,或者路由会干扰其他正在执行的门(已经处在指令调度序列中,且正在执行的量子门,此处的执行是指模拟执行);
第二种情况,存在需要路由的候选门,这些路由不干扰正在执行的门;
对于第二种情况出现的原因是,算法认为,对于任何一个路由,它虽然使有些远程门的距离减小,但可能会使同样或更多数目的远程门距离增加。这时路由调度***就被锁住了——这和操作***中的死锁很相似,故称之为死锁。对于发生死锁的情形,有如下的解除策略:
1)从SWAP候选集Sc中选择优先级最高的SWAP操作s;
2)从SWAP候选集Sc中去掉SWAP操作s和与SWAP操作s有共同比特的SWAP操作,执行s并更新映射π=π|s;
3)重新执行正常的路由算法(也即,前文的步骤D1~D8),直到没有优先级不小于1或<1,0>(针对物理比特矩形网格)的候选SWAP。
理论分析和实践都表明,即使所有比特都空闲并且候选SWAP集Sc非空,仍然有可能找不到优先级大于等于1的SWAP。这是因为有些SWAP牵扯的比特可能涉及不同的远程门,任何一种路由都不会减少远程门的总距离。如图6所示的情况,在矩形网格设备上有4个候选门等待执行,相同填充物的比特之间有一个候选CX门(受控非门,一种双量子门)。每个CX的距离都是1,但是交换任意相邻比特不会减少总距离(最多从1+1+1+1变为2+1+1+0)
针对这种情况,可以选择一个优先级最高(尽管仍小于1)的候选SWAP来执行,打破这个局面。可以证明这样的最高优先级至少为0,意味着执行它不会使局势更糟,并一定对某个候选门的距离缩短有利。
下面介绍候选SWAP操作sk优先级的计算方式:
定义远程门g的距离(distance)为实现该远程门g所需的最少SWAP操作数,记为g.d;两个不相邻的比特上的双量子门是远程门;另外,若某个单比特量子门在当前位置无法执行、需要将比特重映射至另一位置才能执行,这种门也是远程门。
Hbasic(π,s)越高,SWAP操作sk产生的正面影响就越大,则优先级H(π,sk)=Hbasic(π,s);一般情况下,可以直接用H(π,sk)=Hbasic(π,sk)衡量每一个候选SWAP操作sk的积极效果,从中选出使H(π,s)最高的s。
如果物理比特之间的相邻关系能够建模为矩形网格;则可以针对每个候选双量子远程门g,考察其候选SWAP操作在矩形网格上的特征来进一步进行启发式优选。在矩形网格中,每个物理比特有位置属性x和y,如果逻辑门g为双量子远程门,则g=g(q1,q2),其作用的两个逻辑比特q1与q2之间的水平距离和垂直距离分别定义为:
HD(π,g)=|q1’.x-q2’.x|
VD(π,g)=|q1’.y-q2’.y|
其中,q1’.x、q1’.y代表逻辑比特q1对应的物理比特q1’在矩形网格中的行、列坐标;q2’.x、q2’.y代表逻辑比特q2对应的物理比特q2’在矩形网格中的行、列坐标;
在矩形网格中,对于任意距离为d(π,g)的比特对,当比特对的|VD(π,g)-HD(π,g)|越小,则比特对之间可能的最短路由路径数就越多;利用这个性质,针对每个候选SWAP操作sk,引入如下启发式函数进行辅助选择:
其中,G2为双量子远程门集合,对于能够建模为矩形网格情况,令优先级为H(π,sk)=<Hbasic(π,sk),Hfine(π,sk)>。
规定H(π,s1)>H(π,s2)当且仅当Hbasic(π,s1)>Hbasic(π,s2)或者Hbasic(π,s1)=Hbasic(π,s2)∧Hfine(π,s1)>Hfine(π,s2)。如果H(π,s1)>H(π,s2)或记为H(π,s2)<H(π,s1),则称s1的优先级比s2高。
本领域技术人员可以理解,上述优先级用二元组表示,“>、<”表示二元组优先级的偏序关系。
对于足够理想的量子计算机,任意支持的门操作可以在任意的量子比特上执行。但通常的量子计算机上需要进行重映射才能保证程序执行。在重映射过程中会引入SWAP操作,导致重映射后的指令总数和总执行时间一定不少于进行重映射变换前。我们可以用两个简单的指标来衡量重映射算法的优劣:额外引入的SWAP操作数,和引入SWAP后导致(比在理想硬件上执行)增加的执行时间。
将把本发明提供的面向嘈杂中型量子设备的逻辑-物理比特重映射方法称为COntext-and Duration-Aware Remapping algorithm(CODAR)。对标评估的算法是目前已知效果最好的SABRE算法。分别在IBM Q16,IBM Q20 Tokyo和Enfield 6*6三个模型上进行测试。测试样例包括量子傅里叶变换(QFT)、舒尔算法(shors)等典型量子算法。测试结果如表2~表3所示。其中,Qubits是量子程序所用逻辑比特数,gt为程序的总门数,TS、TC为SABRE变换后、CODAR变换后的最短执行时间,其中取单量子门执行时间为1,CX为2,SWAP为6。以上测试中CODAR与SABRE都经过12轮正反双向迭代来寻找初始映射。
表2测试结果(前半部分)
volume_n5_d2 | 5 | 40 | 20 | 20 | 20 | 100.0% | 20 | 20 | 100.0% | 20 | 20 | 100.0% |
4mod5-v1_22 | 5 | 21 | 22 | 42 | 53 | 79.2% | 22 | 22 | 100.0% | 42 | 47 | 89.4% |
9symml_195 | 11 | 34881 | 32084 | 74352 | 81711 | 91.0% | 59755 | 60884 | 98.2% | 71816 | 78153 | 91.9% |
adr4_197 | 13 | 3439 | 3088 | 6977 | 7737 | 90.2% | 5345 | 5444 | 98.2% | 6747 | 7479 | 90.2% |
alu-v0_27 | 5 | 36 | 35 | 61 | 71 | 85.9% | 49 | 39 | 125.6% | 68 | 71 | 95.8% |
cvcle10_2_110 | 12 | 6050 | 5662 | 12871 | 14113 | 91.2% | 10077 | 10626 | 94.8% | 12492 | 13682 | 91.3% |
ising_model_10 | 10 | 480 | 90 | 89 | 90 | 98.9% | 89 | 90 | 98.9% | 89 | 90 | 98.9% |
ising_model_13 | 13 | 633 | 91 | 91 | 91 | 100.0% | 91 | 91 | 100.0% | 91 | 178 | 51.1% |
ising_model_16 | 16 | 786 | 91 | 91 | 91 | 100.0% | 91 | 180 | 50.6% | 91 | 130 | 70.0% |
misex1_241 | 15 | 4813 | 4473 | 9816 | 10775 | 91.1% | 7196 | 6940 | 103.7% | 9296 | 10663 | 87.2% |
mod5mils_65 | 5 | 35 | 37 | 76 | 80 | 95.0% | 63 | 59 | 106.8% | 76 | 80 | 95.0% |
radd_250 | 13 | 3213 | 2990 | 6727 | 7404 | 90.9% | 5061 | 5375 | 94.2% | 6494 | 7159 | 90.7% |
rd73_252 | 10 | 5321 | 4829 | 10970 | 12287 | 89.3% | 8834 | 8933 | 98.9% | 10694 | 11780 | 90.8% |
rd84_142 | 15 | 343 | 191 | 452 | 493 | 91.7% | 378 | 412 | 91.8% | 459 | 463 | 99.1% |
rd84_253 | 12 | 13658 | 12176 | 28256 | 31365 | 90.1% | 22054 | 23183 | 95.1% | 27237 | 30133 | 90.4% |
sqn_258 | 10 | 10223 | 9176 | 20916 | 23170 | 90.3% | 16741 | 16694 | 100.3% | 20581 | 22263 | 92.4% |
square_root_7 | 15 | 7630 | 6367 | 12399 | 16269 | 76.2% | 10247 | 10710 | 95.7% | 12058 | 15744 | 76.6% |
sym6_145 | 7 | 3888 | 3686 | 8129 | 9011 | 90.2% | 5885 | 6221 | 94.6% | 8066 | 8847 | 91.2% |
sym9_193 | 11 | 34881 | 32084 | 74352 | 81711 | 91.0% | 59805 | 60777 | 98.4% | 71920 | 78153 | 92.0% |
z4_268 | 11 | 3073 | 2756 | 6248 | 6892 | 90.7% | 5010 | 5140 | 97.5% | 6082 | 6827 | 89.1% |
表3测试结果(后半部分)
在IBM Q16、IBM Q20Tokyo和Enfield 6*6三个模型中,CODAR变换的程序的运行时间与SABRE变换的程序的时间相比,分别为82.5%、82.4%、80.6%。CODAR在不同平台上成功减少了17.5%~19.4%的程序运行时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,包括:
获取量子程序的逻辑门序列、以及逻辑-物理比特的初始映射;
结合准备运行该量子程序的量子设备的约束信息与逻辑-物理比特的初始映射,通过改变逻辑门的次序以及***SWAP操作完成重映射,获得满足量子设备约束信息的指令调度序列,并确保执行代价最小;指令调度序列中每个元素是要执行的物理门及其起始执行时刻组成的二元组;
其中,为每个物理比特定义一个tend属性,来表示相应比特结束忙碌时刻,对于物理比特q,其tend属性记为q.tend,全体物理比特的tend属性集记为Tend;初始时,各比特的tend属性为0,若当前时刻t≥q.tend,则比特q空闲;
重映射的步骤包括:
步骤A1、设置当前时刻t=0,初始化输出指令调度序列I={};
步骤A2、初始化tend属性,将各物理比特的tend属性置为0;
步骤A3、利用候选门集的近似求解算法结合逻辑门序列G、以及逻辑-物理比特的映射π,计算当前候选门集C;其中候选门是指,对于一个逻辑门g,如果逻辑门g以及逻辑门g之前所有未执行的逻辑门都是对易的,则接下来先执行逻辑门g并不会改变序列的执行结果,则逻辑门g为候选门;
步骤A4、对于当前候选门集C中的立即门集合CI,依次遍历CI中的每个逻辑门g,执行:步骤A41、如果逻辑门g作用的逻辑比特所映射到的物理比特均空闲,则利用量子指令模拟执行和最大并行化算法,结合指令调度序列I以及属性集Tend发射逻辑门g对应的物理指令,此处的物理指令由逻辑门g对应的物理门及作用的物理比特组成,并从逻辑门序列G中去掉逻辑门g;步骤A42、取立即门集合CI中的下一个逻辑门,继续执行步骤A41,直至立即门集合CI为空;否则执行步骤A5;
步骤A5、对于当前候选门集C中的远程门集合CR,执行:步骤A51、利用最优路由的启发式算法,结合逻辑-物理比特映射π、属性集Tend、以及远程门集合CR得到SWAP操作序列S;步骤A52、对于SWAP操作序列S中的每个SWAP操作,首先根据相应SWAP操作所交换的两个物理比特来更新逻辑-物理比特映射π中对应的比特映射,再利用量子指令模拟执行和最大并行化算法,结合指令调度序列I以及属性集Tend发射对应的物理指令;所述远程门是指需要路由操作的逻辑门,所述立即门是指无需路由即可执行的逻辑门;
步骤A6、令当前时刻t=t+1;
步骤A7、返回步骤A3,直到逻辑门序列G为空。
2.根据权利要求1所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,所述通过改变逻辑门的次序以及***SWAP操作完成重映射包括:
重映射时,将模拟量子程序执行的过程,并结合量子程序的上下文环境和逻辑门的并行化特征,在不改变量子程序语义的前提下,改变部分逻辑门的次序以及***SWAP操作,使得重映射后得到的指令调度序列能够直接在相应的量子设备中执行。
3.根据权利要求1所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,计算当前候选门集C的步骤包括:
为每个物理比特引入长度固定的标志字,在标志字中,为每个物理门g的每个形参位置g.i设置一个标志位;随后依次读入逻辑门序列G中的逻辑门,标志位为真表示逻辑门对应参数位置和已经读入的所有逻辑门都对易;
步骤B1、初始时,当前候选门集C为空集,每个物理比特的各标志位均为真;
步骤B2、依次正向遍历所有未执行的逻辑门,执行:
步骤B21、设当前逻辑门为g=g(Q),其中,g是包含有参数信息的量子门操作,g是一个量子门名称,Q表示逻辑门g所作用的逻辑比特数组;如果对每个逻辑比特q∈Q,q是g的第i个参数,其对应的物理比特q’=π(q)的g.i标志位都为真,则将逻辑门g放入候选门集C;
步骤B22、对所有逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列,若相应列存在有值为0的单元,则相应单元的行名记为g'.j,表示g'.j与g.i不对易,则置物理比特q’的g'.j对应标志位为假;
步骤B23、取下一个逻辑门,继续循环,直到遍历结束或所有的标志位都为假。
4.根据权利要求1所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,计算当前候选门集C的步骤包括:
为每个物理比特引入长度固定的标志字,在标志字中,为每个物理门g的每个形参位置g.i设置一个标志位;随后依次读入逻辑门序列G中的逻辑门,标志位为真表示逻辑门对应参数位置和已经读入的所有逻辑门都对易;
步骤C1、重映射每一次迭代过程中,均需要求解候选门集,第一次求解候选门集时,候选门集C为空集;
步骤C2、之后的重映射迭代过程求解候选门集时,将上一次求解的候选门集记为Clast,设Clast子集Cemitted已经在上一次重映射中被发射和去除,则记集合C0=Clast-Cemitted;
步骤C3、记每个物理比特的各标志位均为真;
步骤C4、遍历集合C0中逻辑门g=g(Q),其中,g是包含有参数信息的量子门操作,g是一个量子门名称,Q表示逻辑门g所作用的比特数组;对每个逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列,若相应列存在有值为0的单元,则相应单元的行名记为g'.j,表示g'.j与g.i不对易,则置物理比特q’=π(q)的g'.j对应标志位为假;
步骤C5、依次正向遍历所有未执行的逻辑门,设当前逻辑门为g=g(Q),执行:
步骤C51、如果逻辑g已经在候选门集C中,则继续取下一个逻辑门;否则,执行步骤C52;
步骤C52、如果对每个逻辑比特q∈Q,q是g的第i个参数,其对应的物理比特q’的g.i标志位都为真,则将g放入候选门集C;否则,执行步骤C53;
步骤C53、对所有逻辑比特q∈Q,设q是g的第i个参数,查找逻辑比特q对应的物理比特q’的g.i标志位所在的列,若相应列存在有值为0的单元,则相应单元的行名记为g'.j,表示g'.j与g.i不对易,则置物理比特q’的g'.j对应标志位为假;
步骤C54、取下一个逻辑门,继续循环,直到遍历结束或遍历的逻辑门总数超过设定值N。
5.根据权利要求1所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,在进行量子指令模拟执行和最大并行化算法之前,利用映射π将逻辑门g作用的逻辑比特数组Q通过映射π转换为物理比特数组Q’=π(Q),则逻辑门g变为物理门g’,逻辑门与物理门的实际操作内容没有改变,区别仅在于操作对象由逻辑比特改为物理比特;所述量子指令模拟执行和最大并行化算法,负责发射作用于物理比特的物理门g’或者SWAP操作对应的物理指令,包括:
对于物理门g’作用的每个物理比特q’∈Q’,求出其最晚结束忙碌时刻tm=max{q.tend},tm≤t;设物理门g’执行时长为τ,则对每一物理比特q’∈Q’,置q’.tend=tm+τ;
对于SWAP操作,则发射SWAP操作对应的物理实现指令。
6.根据权利要求1所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,利用最优路由的启发式算法,获取SWAP操作序列S的步骤包括:
步骤D1、令SWAP操作序列S={};
步骤D2、求出当前SWAP候选集Sc;假设逻辑门g为远程门,将逻辑门g作用的逻辑比特数组Q通过映射π转换为物理比特数组Q’=π(Q),则逻辑门g变为物理门g’,此处称为远程门g’,对于比特数组Q’中的空闲比特q1’,如果存在与物理比特q1’相邻的比特q2’且物理比特q2’空闲,则称物理比特q1’与q2’之间的SWAP操作为候选SWAP;
步骤D3、对每个候选SWAP操作sk∈Sc,进行优先级的计算;
步骤D4、选出优先级最高的SWAP操作s,如果SWAP操作s优先级小于1;或者,如果物理比特之间的相邻关系能够建模为矩形网格,SWAP操作s的优先级小于<1,0>,终止算法,输出当前阶段得到的SWAP操作序列S;
步骤D5、更新SWAP操作序列:S=S∪{s};
步骤D6、从SWAP候选集Sc中去掉SWAP操作s以及与SWAP操作s有共同物理比特的SWAP操作;
步骤D7、更新映射,π=π|s,即,在初始映射π时执行SWAP操作s后映射变为π|s;
步骤D8、返回步骤D3,直到SWAP候选集为空。
7.根据权利要求6所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,候选SWAP操作sk的优先级计算方式包括:
定义逻辑门g的距离为实现该逻辑门g所需的最少SWAP操作数,记为g.d;
Hbasic(π,s)越高,SWAP操作sk产生的正面影响就越大,则优先级H(π,sk)=Hbasic(π,s);
如果物理比特之间的相邻关系能够建模为矩形网格;每个物理比特有位置属性x和y,如果逻辑门g为双量子远程门,则g=g(q1,q2),其作用的两个比特q1与q2之间的水平距离和垂直距离分别定义为:
HD(π,g)=|q1’.x-q2’.x|
VD(π,g)=|q1’.y-q2’.y|
其中,q1’.x、q1’.y代表逻辑比特q1对应的物理比特q1’在矩形网格中的行、列坐标;q2’.x、q2’.y代表逻辑比特q2对应的物理比特q2’在矩形网格中的行、列坐标;
则距离d(π,g)=HD(π,g)+VD(π,g)-1;
在矩形网格中,对于任意距离为d(π,g)的比特对,当比特对的|VD(π,g)-HD(π,g)|越小,则比特对之间可能的最短路由路径数就越多;利用这个性质,针对每个候选SWAP操作sk,引入如下启发式函数进行辅助选择:
其中,G2为双量子远程门集合,对于能够建模为矩形网格情况,令优先级为H(π,sk)=<Hbasic(π,sk),Hfine(π,sk)>。
8.根据权利要求7所述的一种面向嘈杂中型量子设备的逻辑-物理比特重映射方法,其特征在于,如果所有候选SWAP操作sk的优先级都小于1或者小于<1,0>,此时可能有如下两种情况:第一种情况,某些候选门需要路由,但是这些候选门对应的某个物理比特处于忙碌状态,或者路由会干扰其他正在执行的门;第二种情况,存在需要路由的候选门,这些路由不干扰现有的门;
对于第二种情况,采用如下处理方式:
从SWAP候选集Sc中选择优先级最高的SWAP操作s;
从SWAP候选集Sc中去掉SWAP操作s和与SWAP操作s有共同比特的SWAP操作,执行s并更新映射π=π|s;
重新执行正常的路由算法,直到没有优先级不小于1或<1,0>的候选SWAP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865893.9A CN110569979B (zh) | 2019-09-09 | 2019-09-09 | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865893.9A CN110569979B (zh) | 2019-09-09 | 2019-09-09 | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569979A CN110569979A (zh) | 2019-12-13 |
CN110569979B true CN110569979B (zh) | 2022-09-06 |
Family
ID=68779818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910865893.9A Active CN110569979B (zh) | 2019-09-09 | 2019-09-09 | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569979B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194573B1 (en) | 2018-02-09 | 2021-12-07 | Rigetti & Co, Llc | Streaming execution for a quantum processing system |
CN111638688B (zh) * | 2020-05-13 | 2023-02-03 | 宿迁学院 | 一种解决柔性流水车间调度问题的量子调度方法 |
CN111753990B (zh) * | 2020-05-27 | 2024-02-02 | 山东浪潮科学研究院有限公司 | 一种量子计算机模拟环境方法、设备及介质 |
CN112085204B (zh) * | 2020-09-18 | 2022-10-28 | 东南大学 | 一种用于量子编译的线路变换方法 |
CN115146782A (zh) * | 2021-03-31 | 2022-10-04 | 合肥本源量子计算科技有限责任公司 | 量子线路编译方法、装置、编译框架及量子操作*** |
CN115271080B (zh) * | 2021-04-30 | 2024-07-16 | 本源量子计算科技(合肥)股份有限公司 | 量子计算任务执行方法、装置及量子计算机操作*** |
WO2023020487A1 (zh) * | 2021-08-17 | 2023-02-23 | 合肥本源量子计算科技有限责任公司 | 量子程序与量子芯片的映射方法和量子操作***及计算机 |
WO2023051577A1 (zh) * | 2021-09-28 | 2023-04-06 | 合肥本源量子计算科技有限责任公司 | 量子程序与量子芯片的映射方法和量子操作***及计算机 |
CN114157369B (zh) * | 2021-11-29 | 2023-03-14 | 北京印刷学院 | 基于量子网络编码的量子态远程制备模型、方法及装置 |
CN115392469A (zh) * | 2022-08-16 | 2022-11-25 | 北京中科弧光量子软件技术有限公司 | 基于动态深度搜索的量子线路映射方法、***和电子设备 |
CN115062786B (zh) * | 2022-08-19 | 2022-12-30 | 中国科学技术大学 | 一种用于量子计算机的量子比特映射和量子门调度方法 |
CN115860128B (zh) * | 2022-12-21 | 2023-08-15 | 北京百度网讯科技有限公司 | 量子电路运行方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672171A (zh) * | 2002-07-31 | 2005-09-21 | 雅马哈发动机株式会社 | 基于量子软计算的智能机电控制悬架*** |
CN109858628A (zh) * | 2019-02-28 | 2019-06-07 | 北京百度网讯科技有限公司 | 编译量子电路的方法、装置、设备和计算机可读存储介质 |
CN109961150A (zh) * | 2019-03-27 | 2019-07-02 | 中国科学技术大学 | 一种应对退相干的量子程序变换方法及*** |
CN110083440A (zh) * | 2013-05-17 | 2019-08-02 | 相干逻辑公司 | 多处理器嵌入式***上应用的动态重新配置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255555B2 (en) * | 2016-11-10 | 2019-04-09 | Rigetti & Co, Inc. | Generating quantum logic control sequences for quantum information processing hardware |
US10496563B2 (en) * | 2017-04-07 | 2019-12-03 | Intel Corporation | Apparatus and method for dynamic provisioning, quality of service, and scheduling in a graphics processor |
-
2019
- 2019-09-09 CN CN201910865893.9A patent/CN110569979B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672171A (zh) * | 2002-07-31 | 2005-09-21 | 雅马哈发动机株式会社 | 基于量子软计算的智能机电控制悬架*** |
CN110083440A (zh) * | 2013-05-17 | 2019-08-02 | 相干逻辑公司 | 多处理器嵌入式***上应用的动态重新配置 |
CN109858628A (zh) * | 2019-02-28 | 2019-06-07 | 北京百度网讯科技有限公司 | 编译量子电路的方法、装置、设备和计算机可读存储介质 |
CN109961150A (zh) * | 2019-03-27 | 2019-07-02 | 中国科学技术大学 | 一种应对退相干的量子程序变换方法及*** |
Non-Patent Citations (3)
Title |
---|
Optimizing Quantum Programs against Decoherence Delaying Qubits into Quantum Superposition;Yu Zhang 等;《arXiv》;20190729;第1-8页 * |
Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices;Gushu Li 等;《arXiv》;20190509;第1-13页 * |
基于MCT可逆线路的量子线路近邻化排布;程学云等;《电子学报》;20180815(第08期);第101-107页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110569979A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569979B (zh) | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 | |
US20230251861A1 (en) | Accelerating linear algebra kernels for any processor architecture | |
US10423887B2 (en) | Compilation, memory management, and fault localization with ancillas in an unknown state | |
CN111338635A (zh) | 计算图的图编译方法、装置、设备及存储介质 | |
JP4658894B2 (ja) | マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法 | |
Mattson et al. | LAGraph: A community effort to collect graph algorithms built on top of the GraphBLAS | |
EP3742343A1 (en) | Autonomous vehicle simulation using machine learning | |
US8583898B2 (en) | System and method for managing processor-in-memory (PIM) operations | |
JP6432450B2 (ja) | 並列計算装置、コンパイル装置、並列処理方法、コンパイル方法、並列処理プログラムおよびコンパイルプログラム | |
CN108897572B (zh) | 一种基于变量关联树的复杂类型重构方法 | |
US20210357740A1 (en) | Second-order optimization methods for avoiding saddle points during the training of deep neural networks | |
Zhou et al. | Coqq: Foundational verification of quantum programs | |
CN114175060A (zh) | 用于量子计算设备的测量序列确定 | |
US5787287A (en) | Representation of control flow and data dependence for machine | |
US20100250564A1 (en) | Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution | |
CN109582484A (zh) | 防范在汽车***中实现的纠错码(ecc)中的错误 | |
CN108595917A (zh) | 基于fpga的面向基因测序串匹配算法的加速平台及设计方法 | |
CN112149269A (zh) | 优化设备、优化设备的控制方法和记录介质 | |
Chen et al. | A pulse generation framework with augmented program-aware basis gates and criticality analysis | |
CN116663491B (zh) | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 | |
CN113222160B (zh) | 一种量子态的转换方法及装置 | |
CN112527304B (zh) | 基于异构平台的自适应节点融合编译优化方法 | |
Janik et al. | An overview of altera sdk for opencl: A user perspective | |
Rakyta et al. | Highly optimized quantum circuits synthesized via data-flow engines | |
KR20230132369A (ko) | 양자 회로에서의 리소스 감소 |
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 |