一种量子计算机操作系统和量子计算机
文献发布时间:2023-06-19 18:35:48
技术领域
本申请涉及量子计算技术领域,尤其是涉及一种量子计算机操作系统和量子计算机。
背景技术
量子计算机是以量子比特为基本单元,利用量子叠加、量子纠缠等特性实现颠覆性的计算方式,能够提供潜在超越一切经典计算技术的巨大信息携带量和超强并行计算处理能力。量子计算有望在机器学习、化学模拟、求解线性方程等问题处理上超越经典计算。
操作系统对计算机的重要性不言而喻,对经典计算机如此,对还在初期发展中的量子计算机技术更是如此。量子计算机操作系统决定了量子计算机的功能、计算效率、稳定性,进而决定了量子计算机的实用程度。量子计算机操作系统是量子计算机中连接终端和量子计算机的核心部件量子芯片的工具,量子计算机操作系统一方面接收用户发送来的量子计算任务,另一方面需要将这些量子计算任务映射到量子芯片中具体的量子比特拓扑结构中以完成对这些量子计算任务的执行。在量子计算任务的实现过程中,开发者主要关注量子计算任务的实现,量子计算任务往往在任意两个量子比特之间都有可能出现两比特量子逻辑门的连接。然而对于实际的量子芯片,由于受限于物理结构,如图1所示,量子比特在量子芯片上以网格式排列,Q1,Q2,Q3,Q4代表量子比特,一般情况下,只有存在直接连接关系的量子比特之间才允许进行两比特量子逻辑门操作。
在现有技术中,量子计算机操作系统一般是先将量子芯片上的所有量子比特按照多层分割处理方法分割成若干个可执行的量子线路块(也即量子比特拓扑结构),然后根据待运行的量子计算任务中量子比特数量从中选取可用的可执行的量子线路块来执行映射,可用于执行量子线路块的量子比特数量与待运行的量子计算任务中量子比特数量相同。然而随着量子计算机操作系统中量子计算需求的不断增加,需要处理的量子计算任务的数量将不断增多,并且各量子计算任务所需的量子比特数量差异化较大,利用该种可执行的量子线路块来进行待运行量子计算任务的映射会存在可执行的量子线路块分割不合理、查找与待运行量子计算任务相匹配的可执行的量子线路块的处理时间长,使得量子芯片的量子比特资源利用率低、量子计算任务运行等待时间长以及程序运行时效性低的问题,导致用户体验感差。
发明内容
本申请的目的在于提供一种量子计算机操作系统和量子计算机,该量子计算机操作系统能为程序等待队列中的每个量子计算任务在系统中量子芯片的空闲量子比特上快速找到各自最优的分区区域来执行映射,有效提高了量子芯片的量子比特资源利用率和量子计算任务运行时效性。
第一方面,本申请的实施例提供了一种量子计算机操作系统,包括:
量子计算任务分配服务模块,其被配置为从当前尚未处理的量子计算任务中确定待处理量子计算任务;
量子芯片资源配置服务模块,其被配置为基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取量子比特拓扑结构,奖励函数的值以及量子比特的数量满足预设阈值的,其中,所述奖励函数通过所述社区发现算法和所述贪婪算法获取,所述空闲量子比特为所述量子芯片中未被分配量子计算任务的量子比特;
量子计算任务映射服务模块,其被配置为将所述待处理量子计算任务映射到所述量子比特拓扑结构中以执行所述待处理量子计算任务。
第二方面,本申请的实施例提供了一种量子计算机中量子计算任务的执行方法,包括:
从当前尚未处理的量子计算任务中确定待处理量子计算任务;
基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取奖励函数的值以及量子比特的数量满足预设阈值的量子比特拓扑结构,其中,所述奖励函数通过所述社区发现算法和所述贪婪算法获取,所述空闲量子比特为所述量子芯片中未被分配量子计算任务的量子比特;
将所述待处理量子计算任务映射到所述量子比特拓扑结构中以执行所述待处理量子计算任务。
第三方面,本申请的实施例提供了一种量子计算机,包括如以上特征中任一项所述的量子计算机操作系统。
第四方面,本申请的实施例提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被一处理器执行时能实现以上特征中任一项所述的执行方法。
第五方面,本申请的实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上特征中任一项所述的执行方法。
与现有技术相比,本申请提供的一种量子计算操作系统中量子芯片资源配置服务模块基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取符合要求的量子比特拓扑结构,对于系统的量子芯片集群中某个量子芯片,若其上的空闲量子比特数量不小于量子计算任务的量子比特数量,则在该量子芯片的空闲量子比特中选取符合要求的量子比特拓扑结构,直到获得的所述量子比特拓扑结构的量子比特数量等于所述量子计算任务的量子比特数量时停止合并,最后将所述待处理量子计算任务映射到所述量子比特拓扑结构中以执行所述待处理量子计算任务;因此,本申请的量子计算机操作系统利用了“从下往上”的思想对系统的量子芯片集群中空闲量子比特数量符合要求的某一个量子芯片的空闲量子比特按照待处理的量子计算任务的实际需求进行高质量实时动态分区,所获得的所述量子比特拓扑结构能与所述待处理的量子计算任务实现唯一匹配,无匹配等待时间且匹配度高,大大提高了量子芯片的资源利用率的同时,也有效提高了程序等待队列中的量子计算任务的执行时效性;利用本申请的量子计算机操作系统能够为程序等待队列中的每个量子计算任务在系统的量子芯片集群中某一满足要求的量子芯片的空闲量子比特上快速找到各自最优的分区区域来执行映射。
本申请还提出一种量子计算机中量子计算任务的执行方法、量子计算机、可读存储介质以及电子装置,与所述量子计算机操作系统属于同一发明构思,因此具有相同的有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据相关技术中的量子芯片模型图;
图2为本申请实施例的一种量子线路图展示参照图;
图3为本申请实施例的一种量子计算机操作系统结构框图;
图4为本申请实施例的一个量子芯片的拓扑结构示意图;
图5为本申请实施例的量子芯片的馈线分配示意图;
图6为本申请实施例的另一种量子计算机操作系统结构框图;
图7为本申请实施例的一种量子计算机中量子计算任务的执行方法的工作流程示意图;
图8为本申请一实施例的另一种量子计算机中量子计算任务的执行方法的工作流程示意图。
具体实施方式
下面将结合示意图对本申请的具体实施方式进行更详细的描述。根据下列描述和权利要求书,本申请的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本申请实施例的目的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本申请实施例提供了一种量子计算机操作系统,下面首先对量子计算机进行说明。
本领域技术人员可以理解的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子计算任务进而实现量子计算。而量子计算任务(或称量子程序)是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子计算任务就是一系列按照一定时序操作量子逻辑门的指令序列。
量子线路可以作为量子计算任务的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。参见图2,图2为本申请实施例提供的一种量子线路图展示参照图,其中,q[0]、q[1]、q[2]、q[3]是指量子比特从0至3的量子比特,通常也可被记为q
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子计算任务整体上对应有一条总的量子线路,本申请所述量子计算任务即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子计算任务的量子比特总数相同。可以理解为:一个量子计算任务可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至上千万个量子逻辑门操作。量子计算任务的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门(或单量子逻辑门,简称“单门”),如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特量子逻辑门(或双量子逻辑门,简称“双门”),如CNOT门、CR门、SWAP门、iSWAP门等等;多比特量子逻辑门(或多量子逻辑门,简称“多门”),如Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
例如,量子态右矢|0>对应的矢量为
量子态,即量子比特的逻辑状态。在量子计算任务中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,在二进制表示方式中从高位到低位排序为q2q1q0,该组量子比特对应的量子态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态的位与量子比特对应一致,如|001>态,001从高位到低位对应q2q1q0,|>为狄拉克符号。对于包含N个量子比特q
以单个量子比特说明,单个量子比特的逻辑状态ψ可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数,振幅的模的平方表示概率,a
随着量子计算技术的不断发展,需要处理的量子计算任务数量会急剧增加,而因受限于量子设备硬件的发展,量子芯片上的物理量子比特资源有限,为了保证所有量子计算任务都能够顺利运行,亟需对有限的量子芯片和其上的物理量子比特资源进行合理安排。
参见图3,图3为本申请实施例提供的一种量子计算机操作系统,包括量子计算任务分配服务模块11、量子芯片资源配置服务模块14、量子计算任务映射服务模块15。
其中,所述量子计算任务分配服务模块11,其被配置为从当前尚未处理的量子计算任务中确定待处理量子计算任务。
需要说明的是,随着量子计算技术的不断发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等,量子云平台接收的用户提交的量子计算任务通过量子计算机操作系统进行处理。随着量子计算技术的发展,量子云平台后端有一个多量子芯片集群,该集群中包含N个量子芯片Ci,i∈{1,N},每个量子芯片中包含的量子比特数量为|Ci|,并且每个量子芯片的量子比特数量可以支持多个量子计算任务的执行。
另外,随着用户对量子计算领域的研究兴趣日益浓厚,越来越多的量子应用将提交到量子云平台。然而由于目前量子芯片集群使用的NISQ(Noisy Intermediate-ScaleQuantum)设备的量子比特具有有限的相干时间和容易出错的量子逻辑门,在量子云平台的使用过程中随着用户提交的量子应用不断增多,将有一个量子计算任务队列。
需要说明的是,在实际应用中,用户向量子云平台提交的量子应用包括多个量子线路,每一个量子线路在发送时可以看作一个独立的个体,一个量子线路对应着一个量子计算任务,这样,在量子计算任务队列中存储的是当前尚未处理的量子计算任务。
一个所述量子计算任务需要在拥有足够量子比特数量的量子芯片上执行映射,一般情况下,量子计算任务对量子芯片集群的量子比特数量的需求是大于量子芯片集群的处理能力的,如何调度量子计算任务确保基于量子芯片集群充分利用的任务执行时需要研究的。本申请通过独特的量子计算任务调度优先级确定方式调度量子计算任务以确保该效果,具体地:
所有所述当前尚未处理的量子计算任务的优先级的值可以基于以下排序指标公式进行计算:
其中,R为优先级的值,W为所述量子计算任务提交后在所述量子计算任务队列中的排队等待时间,S为所述量子计算任务的大小,它可表示为S=n*d,其中n为所述量子计算任务的量子比特位数,d为所述量子计算任务的深度,所述深度表征的是所述量子计算任务对应的量子线路的深度,也为量子线路的长度。层为量子线路深度的单位,一层是指一个(层)时序,一层量子逻辑门为可同时执行的位于一个时序内的量子逻辑门,同一层量子逻辑门为可同时执行的同一时序量子逻辑门。
另外,通过优先级的排序指标公式可知优先级存在以下规则:R越大,其所对应的所述量子计算任务的优先级越高。因此,W能够保证所述量子计算任务先到先得的原则;并且在当排队等待时间相近时,S越小的所述量子计算任务的优先级越高,这保证了最大化量子资源利用率。针对S也相近的所述量子计算任务,其中,量子比特数量越小的所述量子计算任务的优先级越高。
因此在量子计算任务队列中,具有最高R值的所述量子计算任务即为具有最高优先级的量子计算任务。
所述量子芯片资源配置服务模块14,其被配置为基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取符合要求的量子比特拓扑结构,其中,所述空闲量子比特为所述量子芯片中未被分配量子计算任务的量子比特。
需要说明的是,特定量子芯片上的质量好的量子比特和链接是有限的,且某些量子比特与周围环境会有更多的联系,如果在所述量子芯片资源配置服务模块14中使用单程序映射方法,将待处理量子计算任务逐个映射到量子芯片,映射方法将倾向于选择质量最好的量子芯片和物理量子比特,这将导致系统中量子资源利用不足,从而延长了量子计算任务队列中量子计算任务的排队等待时间。其实在保证量子计算任务保真度大于一定阈值的前提下,可以选择在质量不是最好的物理量子比特或量子芯片上执行量子计算任务。因此,需要在提高量子芯片的物理量子比特利用率、减少程序等待时间和保证量子计算任务有足够的保真度之间找到一个最佳平衡。
在量子计算任务实现过程中,开发者主要关注量子计算任务的实现,这使得与量子计算任务对应的量子线路中常包含量子芯片不支持的量子逻辑门,即,在量子线路中,任意两个逻辑量子比特能够执行一个两比特量子逻辑门,而在实际量子芯片中,由于只有相邻的两个物理量子比特之间完全连接,因此只允许在相邻的两个量子比特之间产生耦合。因此,在实际运行过程中,需要将量子芯片不支持的量子逻辑门转化为量子芯片支持的量子逻辑门,从而对量子计算任务对应的量子线路处理得到可执行的量子线路。可执行的量子线路是由可直接在量子芯片上执行的量子逻辑门组成的量子线路。
另外,量子芯片上的任何一个量子比特都有两种对立的状态,一种是当前已用于执行量子计算任务或者已经分区映射,另一种则是空闲并可用。量子芯片的拓扑结构反映了量子芯片上的量子比特的空间特点,该空间特点包括量子芯片包含的量子比特的数量、位置,以及量子比特间的连接关系,它决定了量子芯片的可用情况。
参见图4,图4为本申请实施例的一个量子芯片的拓扑结构示意图。在图4中每个白点和黑点均代表一个量子比特,其中,白点代表未被量子计算任务占用的量子比特,黑点代表正在被量子计算任务占用的量子比特,每个点所处的位置即为量子比特的位置,两个点之间的连线代表量子比特间的连接关系,即为两个量子比特之间的链路。具有连接关系的两个量子比特间可执行一个两比特量子逻辑门,但会存在两比特量子逻辑门错误率高的链路,如图4中用实线和虚线双重表示的两个量子比特间的链路。如果欲将需要6位量子比特参与执行操作的量子计算任务映射到该量子芯片中具有紧密可靠互连的分区区域,那么图4中虚线框所圈出的区域是一个合适的选择。
本申请实施例的所述量子比特拓扑结构是所述待处理量子计算任务在量子芯片上的可映射的分区区域,如图4中虚线框圈出的区域。
所述量子计算任务映射服务模块15用于将所述待处理量子计算任务映射到所述量子比特拓扑结构中以执行所述待处理量子计算任务。
需要说明的是,所述将所述待处理量子计算任务映射到所述量子比特拓扑结构中,即将量子计算任务的逻辑量子比特与量子芯片的物理量子比特之间形成映射,并适应性的转换映射前后的量子逻辑门,从而对量子计算任务对应的量子线路处理得到可执行的量子线路。由所述可执行的量子线路来完成所述待处理量子计算任务的执行处理。
进一步地,所述量子芯片资源配置服务模块14包括:
第一量子比特获取单元,其被配置为获取符合预设要求的第一量子比特,所述预设要求为所述第一量子比特的读取保真度在预设范围内。
需要说明的是,所述量子比特的读取保真度即为量子比特的读取准确度,经过演化后的量子比特的量子态是需要进行测量读取操作后才能获知,量子比特的量子态读取准确度为1减去量子比特的测量误差,量子芯片中某个量子比特的读取保真度在量子芯片前期测试阶段即可获得。所述第一量子比特的读取保真度在预设范围内,可以保证所述第一量子比特的质量较好。所述预设范围可以根据待处理量子计算任务对运行结果精度要求进行设定,对于运行结果精度要求高的量子计算任务,选择读取保真度较高的量子比特,此时所述预设范围需要将读取保真度限制在一个较高的范围;对于运行结果精度要求低的量子计算任务,则可以选择读取保真度较低的量子比特,此时所述预设范围可将读取保真度限制在一个下限较低的范围。
量子比特拓扑结构获取单元,其被配置为基于所述第一量子比特、所述社区发现算法以及所述贪婪算法获取符合要求的所述量子比特拓扑结构。
需要说明的是,利用所述社区发现算法和所述贪婪算法获取量子比特的奖励函数,并将具有符合要求的所述奖励函数的值的其他空闲量子比特与所述第一量子比特合并在一起,形成所述量子比特拓扑结构。
进一步地,所述量子比特拓扑结构获取单元包括:
参数获取子单元,其被配置为获取所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量,所述馈线与若干个量子比特耦合连接并用于测量量子比特的量子态信息。
拓扑结构划分子单元,其被配置为将奖励函数的值符合要求的量子比特划分到所述量子比特拓扑结构中,所述奖励函数通过所述社区发现算法和所述贪婪算法获取,所述奖励函数的值通过所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量确定。
需要说明的是,单个量子计算任务的执行所需的量子芯片上的量子比特应当紧密分配。所述第一量子比特附近量子比特是指与所述第一量子比特具有直接或间接连接关系的空闲量子比特,其中,任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数具体是指两比特量子逻辑门的可靠性,即是指两个存在直接连接关系的量子比特之间的链路的可靠性。所述两比特量子逻辑门的可靠性计算方式为1减去实现该两比特量子逻辑门的两个量子比特的操作错误率,其中,所述量子比特的操作错误率为已知参数,与读取保真度类似,两比特量子逻辑门的可靠性在量子芯片前期测试阶段已提前获取。另外,由于单比特量子逻辑门在实际应用时出现错误的概率很低,因此,单比特量子逻辑门的可靠性一般设置为1,在计算所述奖励函数的值时,仅考虑两比特量子逻辑门的可靠性。
参见图5,图5为本申请实施例中量子芯片的馈线分配示意图。图中在同一个虚线矩形中的所有量子比特耦合连接到同一条馈线。由于量子比特的测量需要按顺序进行几个步骤,所以当耦合到同一条馈线的另一个量子比特正在被测量时,对量子比特的测量将不能开始,但是耦合到同一条馈线的任何量子比特的组合都可以在给定的时间被同时测量。因此如果两个量子计算任务共享相同的所述馈线并且它们具有不同的深度,则它们的测量必须同步或在时间上没有重叠。这就导致在测量重叠时需要延迟短的量子计算任务的开始。在实际应用中,让一个量子计算任务尽可能地填满一条馈线,这样就能够减少了过多的量子计算任务共享同一条馈线的可能性,可有效避免量子计算任务执行效率低的问题。
通过所述社区发现算法和所述贪婪算法获取所述奖励函数,由于所述奖励函数的值通过所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量确定。因此可以将所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量均在所述预设范围内的量子比特设置为所述量子比特拓扑结构。本领域技术人员可以理解的是,所述奖励函数的值是否符合要求可以根据所述量子比特拓扑结构的质量要求进行确定,在此不做限制。
进一步地,所述量子芯片资源配置服务模块14还包括:
数量判断单元,其被配置为判断所述量子比特拓扑结构中量子比特的数量是否大于或等于所述待处理量子计算任务所需的量子比特的数量;
处理单元,其被配置为在判断结果为是时,输出第一指令给所述量子计算任务映射服务模块以使当前所述量子比特拓扑结构用于执行所述待处理量子计算任务;在判断结果为否时,输出第二指令给所述拓扑结构划分子单元以使所述拓扑结构划分子单元继续划分其它的符合要求的量子比特进入所述量子比特拓扑结构中。
需要说明的是,将所述待处理量子计算任务映射到所述量子比特拓扑结构中,必须确保所述量子比特拓扑结构中量子比特的数量不小于所述待处理量子计算任务的量子比特数量。因此,在量子芯片的空闲量子比特中划分所述量子比特拓扑结构时,需要以所述待处理量子计算任务的量子比特数量为基准,实时判断合并到所述量子比特拓扑结构中的量子比特数量是否已达到所述待处理量子计算任务的逻辑量子比特的数量。另外,所述其它的符合要求的量子比特是指所述奖励函数符合要求的量子比特。
进一步地,所述奖励函数为:
其中,F为所述奖励函数的值,Q
需要说明的是,所述奖励函数利用所述社区发现算法和所述贪婪算法获取,其中,所述社区发现(community detection)算法是用来发现网络结构中的社区结构,属于一种聚类算法,这些被划分的社区结构是一个子图,包括顶点和边,同一社区内的顶点之间的连接紧密,而社区与社区之间的连接相对稀疏。选用模块度(Modularity)作为评价一个社区结构的划分好坏的度量指标,所述模块度是社区结构内部边的度数减去社区结构内顶点的总度数,它的计算公式为
其中,Q为一个社区结构C的模块度,模块度Q的值越高,表明社区结构C的划分越合适,m为社区结构C的总边数,Ic为社区结构C中所有内部边的条数,Dc为社区结构C中所有顶点的度之和。
量子计算任务通过使用两比特量子逻辑门来制造纠缠,且两比特量子逻辑门只能在量子芯片上耦合的两个物理量子比特之间执行。因此,执行单个量子计算任务所需的量子芯片上的量子比特应当紧密分配,不同的量子计算任务之间应避免串扰等相互干扰。所述量子比特拓扑结构相当于是量子芯片上空闲的物理量子比特聚集的社区结构,因此,所述量子比特拓扑结构的紧密程度Q
所述贪婪算法的思想为将量子芯片的所述第一量子比特作为一个社区结构,不断地将所述第一量子比特附近的空闲量子比特与该社区结构合并形成一个新的社区结构,使得所述奖励函数的值最大化,直到得到一个最终的社区结构包含了所述量子计算任务所需要的量子比特数量。所述最终的社区结构即为所述量子比特拓扑结构。
进一步地,由于量子芯片中每个量子比特的相干时间有限且是不同的,其中,相干时间越大的量子比特的可靠性越好。如果一个量子计算任务所在的所述量子比特拓扑结构中存在相干时间较短的量子比特,那么所述量子计算任务的保真度将受到很大影响。量子比特的退相干误差相对于量子计算任务的长度呈指数增长。因此,量子计算任务应该要在相干时间比自身执行时间长的量子比特上执行,在获取所述量子比特拓扑结构之前,需要将相干时间相对于量子计算任务的执行时间太短的量子比特排除在划分可用量子比特之外。
因此,请参见图6,本申请实施例的另一种量子计算机操作系统,所述量子计算机操作系统在上一实施例的结构基础上,还包括:
相干时间获取与判断模块12,其被配置为获取所述量子芯片中所述空闲量子比特的相干时间,判断各所述空闲量子比特的相干时间是否大于第一阈值,其中,所述第一阈值根据所述待处理量子计算任务的执行时间确定。
量子芯片资源判别模块13,在判断结果为否时,将相应的量子比特设置为不可用量子比特,所述量子芯片资源配置服务模块14不会将所述不可用量子比特划分到所述量子比特拓扑结构中。
量子计算机操作系统是量子计算机中连接用户终端和属于量子计算机核心部件的量子芯片的工具,量子计算机操作系统一方面接收用户终端发送来的量子计算任务,另一方面需要将这些量子计算任务映射到量子芯片中具体的量子比特拓扑结构中以完成对这些量子计算任务的执行。然而由于现有量子芯片集群中使用的NISQ设备不能实现任意两量子比特之间的完全连接,而量子计算任务通常需要在任意两个量子比特之间执行一个两比特量子逻辑门。因此,为量子计算任务在量子芯片集群中的符合要求的量子芯片中找到一个优化的映射区域(即所述量子比特拓扑结构)是非常重要的。本申请实施例所给出的量子计算机操作系统中的所述量子芯片资源配置服务模块14可以为每个量子计算任务找到一个量子比特连接紧密且连接错误率低的映射区域,并利用了综合考虑了满足程序执行的保真度需求、避免串扰以及合理使用馈线的基于所述社区发现算法和所述贪婪算法的方案,寻找到最优的所述量子比特拓扑结构作为量子计算任务的映射区域,这为量子计算任务的高效快速执行提供了可靠的解决方案。
基于同一种发明构思,本申请实施例提出了一种量子计算机中量子计算任务的执行方法,请参见图7,该方法包括如下步骤:
步骤S22:从当前尚未处理的量子计算任务中确定待处理量子计算任务;
步骤S24:基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取符合要求的量子比特拓扑结构,其中,所述空闲量子比特为所述量子芯片中未被分配量子计算任务的量子比特;
步骤S26:将所述待处理量子计算任务映射到所述量子比特拓扑结构中以执行所述待处理量子计算任务。
具体请参见上述实施例的叙述,此处不再赘述。
需要说明的是,步骤S24中所述基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取符合要求的量子比特拓扑结构,包括:
获取符合预设要求的第一量子比特,所述预设要求为所述第一量子比特的读取保真度在预设范围内;
基于所述第一量子比特、所述社区发现算法以及所述贪婪算法获取符合要求的所述量子比特拓扑结构。
需要特别说明的是,所述基于所述第一量子比特、所述社区发现算法以及所述贪婪算法获取符合要求的所述量子比特拓扑结构,具体包括:
获取所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量;
将奖励函数的值符合要求的量子比特划分到所述量子比特拓扑结构中,所述奖励函数通过所述社区发现算法和所述贪婪算法获取,所述奖励函数的值通过所述第一量子比特附近量子比特的读取保真度、所述第一量子比特附近量子比特中任意两个存在直接连接关系的量子比特间执行两比特量子逻辑门操作的可靠性参数以及馈线的数量确定。
具体请参见上述实施例的叙述,此处不再赘述。
其中,所述奖励函数为:
其中,F为所述奖励函数的值,Q
需要说明的是,在步骤S24中,所述基于社区发现算法和贪婪算法在量子芯片的空闲量子比特中获取符合要求的量子比特拓扑结构,还包括:
判断所述量子比特拓扑结构中量子比特的数量是否大于或等于所述待处理量子计算任务所需的量子比特的数量,若是,则输出第一指令给量子计算任务映射服务模块12以使当前所述量子比特拓扑结构用于执行所述待处理量子计算任务。否则输出第二指令给拓扑结构划分子单元以使所述拓扑结构划分子单元继续划分其它的符合要求的量子比特进入所述量子比特拓扑结构中。
具体请参见上述实施例的叙述,此处不再赘述。
此外,每个量子计算任务都需要在量子比特的相干时间内执行完成,否则将产生很大的量子计算任务的执行结果误差。因此,在对某个量子计算任务进行量子芯片资源的配置之前,需要查找出针对该量子计算任务的不可用量子比特,并将不可用量子比特排除在需要划分的所述量子比特拓扑结构之外。
因此,请参见图8,本申请实施例提出了另一种量子计算机中量子计算任务的执行方法,所述执行方法在上一实施例的基础上,还需要包括:
步骤S23:获取所述量子芯片中所述空闲量子比特的相干时间;
判断各所述空闲量子比特的相干时间是否大于第一阈值,其中,所述第一阈值根据所述待处理量子计算任务的执行时间确定;
若否,将相应的量子比特设置为不可用量子比特,所述量子芯片资源配置服务模块14不会将所述不可用量子比特划分到所述量子比特拓扑结构中。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于同一发明构思,本申请实施例还提出一种量子计算机,包括上述特征描述中任一项所述的量子计算机操作系统。
基于同一发明构思,本申请实施例还提出一种可读存储介质,其上存储有计算机程序,所述计算机程序被一处理器执行时能实现上述特征描述中任一项所述的执行方法。
所述可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备,例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所描述的计算机程序可以从可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收所述计算机程序,并转发该计算机程序,以供存储在各个计算/处理设备中的可读存储介质中。用于执行本申请操作的计算机程序可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。所述计算机程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机程序的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、系统和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序实现。这些计算机程序可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些程序在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机程序存储在可读存储介质中,这些计算机程序使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有该计算机程序的可读存储介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机程序加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的计算机程序实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
基于同一发明构思,本申请实施例还提出一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述特征描述中任一项所述的执行方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”或“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
上述仅为本申请的优选实施例而已,并不对本申请起到任何限制作用。任何所属技术领域的技术人员,在不脱离本申请的技术方案的范围内,对本申请揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本申请的技术方案的内容,仍属于本申请的保护范围之内。
- 一种基于量子密钥分发技术的量子保密通信网络系统及其应用
- 子量子线路量子态测量方法、装置及量子计算机操作系统
- 一种量子计算机操作系统和量子计算机