首页> 中国专利> 含噪声的中型量子时代计算机的变化感知量子位移动方案

含噪声的中型量子时代计算机的变化感知量子位移动方案

摘要

用于在量子计算系统中有效地路由量子位的系统和方法包括选择气泡节点并将量子位路由到所述气泡节点。所述系统和方法还包括将节点系统划分成区域,以及为每个区域选择气泡节点。所述系统和方法还包括使用具有连接到其他超级气泡节点和气泡节点的可靠链路的超级气泡节点来改善跨区域操作。

著录项

  • 公开/公告号CN114830143A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 超威半导体公司;

    申请/专利号CN202080087338.9

  • 申请日2020-11-12

  • 分类号G06N10/70;

  • 代理机构上海胜康律师事务所;

  • 代理人樊英如;张静

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 16:08:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    国际专利申请公布

说明书

相关申请的交叉引用

本申请要求2019年12月16日提交的美国非临时专利申请第16/716,390号的权益,其内容以引用方式并入本文。

背景技术

量子计算是有噪声的并且经常导致错误。随着量子位数量在含噪声的中型量子(NISQ)计算时代的增长,需要降低错误率以改善量子运算结果的可靠性。

为了减少量子计算的错误,已经提出了被称为量子纠错码(QEC)的专用码。然而,QEC的实现具有相关联的缺点,诸如需要面积开销和附加物理量子位来编码一个容错量子位。此外,NISQ机器,诸如具有10至1000个量子位的那些NISQ机器,可能没有足够的资源用于纠错。

其他提出的解决方案旨在通过各种量子位分配算法来改善NISQ计算机的可靠性。具体地,这些提出的解决方案试图通过基于动态编程呈现不同搜索算法、将模拟退火方法与局部搜索、启发式搜索算法和Dijkstra算法相结合来减轻量子位分配问题。然而,此类提出的解决方案的最佳算法需要指数时间和空间来执行,并且只能对具有有限数量量子位的电路起作用。此外,对于每个量子位操作,这些提出的解决方案在具有大量节点的网络的一定区域直至整个网络上应用搜索算法,这进一步增加了时间和计算复杂度。

附图说明

可从结合附图以举例的方式给出的以下描述中获得更详细的理解,在附图中:

图1是其中可以实现本公开的一个或多个特征的示例性装置的框图;

图2是图1的装置的框图,示出了另外的细节;

图3是示例性量子计算系统的有向图表示;

图4是包括多个区域的示例性量子计算系统的有向图表示;

图5A是第一纪元时间中的示例性量子计算系统的表示;

图5B是第二纪元时间中的另一个示例性量子计算系统的表示;

图6是包括超级气泡节点的量子计算系统的图;

图7是用于在量子计算系统中有效地路由量子位的示例性方法的流程图;

图8是用于在量子计算系统中跨区域有效地路由量子位的示例性方法的流程图;并且

图9是描绘用于修改区域和更新区域的气泡节点的另一种示例性方法的流程图。

具体实施方式

量子计算机可用来加速解决困难的问题,诸如质因数分解、数据库搜索和材料模拟。量子算法通常使用量子位(quantum bit或qubit)来表示数据,并利用量子操作来改变量子位的状态。现有的量子技术已经使研究人员能够进入含噪声的中型量子(NISQ)时代。NISQ允许具有几十到几千量子位的量子系统。然而,NISQ时代的量子计算机的当前挑战之一是对量子计算造成负面影响的噪声。量子位只能在混合状态下停留一定的时间段,并且可能由于周围环境的变化而丢失该状态。这可能影响量子位操作的准确性并增加错误。在NISQ计算机系统中,量子位和连接节点的链路的错误率存在显著的可变性。此外,对于一对节点A和B,将量子位从A移动到B的错误率可能不同于将量子位从B移动到A的错误率。

NISQ计算机系统的错误率的降低使得能够操作可以使用更多量子位并且产生更可靠结果的更大系统。下面更详细地提供了用于可应用于NISQ系统的低开销量子位移动的系统和方法,并且除此之外,所述系统和方法可与任何数量的量子位一起工作。这些系统和方法将更多的操作引向更强和更稳健的链路,以减轻错误率的影响,并因此改善系统的可靠性。

本文提供了用于改善量子计算操作的可靠性的系统、方法和非暂时性计算机可读介质的示例。在一个示例中,一种方法包括测量与第三多个节点之间的第二多个连接相关联的第一多个性能,以确定与第二多个连接相关联的第四多个可靠性。该方法还包括选择第三多个节点中的气泡节点,其中气泡节点与第三多个节点中的其他节点相比具有相关联的可靠性相对较高的连接。该方法还包括选择性地将第一量子位从第一节点移动到气泡节点,以及选择性地将第二量子位从第二节点移动到气泡节点。然后,使用第一量子位和第二量子位在气泡节点处执行量子操作。

在另一个示例中,气泡节点与第一节点相同,使得选择性地移动第一量子位包括将第一量子位保持在第一节点处。

在另一个示例中,与将量子位从第一节点移动到第二节点相关联的可靠性不同于与将量子位从第二节点移动到第一节点相关联的可靠性。

在另一个示例中,第五多个节点包括第三多个节点,第五多个节点包括第六多个区域,并且第三多个节点被分配给第六多个区域中的第一区域。在该示例中,该方法还包括为第六多个区域中的每个区域选择气泡节点,该气泡节点与第六多个区域中的相应区域的其他节点相比具有相关联的可靠性相对较高的连接。该方法还包括对于第六多个区域中的每个区域,选择性地将驻留在同一区域中的量子位移动到同一区域的相应气泡节点。

在另一个示例中,第五多个节点包括一个或多个超级气泡节点,并且一个或多个超级气泡节点与第六多个区域的相应气泡节点连接。在该示例中,该方法还包括将第一气泡量子位从第一气泡节点移动到连接到第一气泡节点的超级气泡节点,将第二气泡量子位从第二气泡节点移动到连接到第二气泡节点的超级气泡节点,以及使用第一气泡量子位和第二气泡量子位在超级气泡节点处执行量子操作。

在另一个示例中,超级气泡节点具有与其他超级气泡节点和其他气泡节点的连接,与既不是气泡节点也不是超级气泡节点的节点之间的连接相比,该连接相对更可靠。

在另一个示例中,方法还包括修改第六多个区域中的第一区域和第二区域,其中第一区域的至少一个节点被重新分配给第二区域,或者第二区域的至少一个节点被重新分配给第一区域。

在另一个示例中,方法包括选择修改后的第一区域的新的第一气泡节点以及选择修改后的第二区域的新的第二气泡节点。

在另一个示例中,方法包括重新测量第一多个性能以确定更新后的第四多个可靠性。该方法还包括选择更新后的气泡节点,该更新后的气泡节点与第三多个节点中的其他节点相比具有相关联的更新后的可靠性相对较高的连接。该方法还包括将第三量子位从第三节点移动到更新后的气泡节点,将第四量子位从第四节点移动到更新后的气泡节点,以及使用第三量子位和第四量子位执行另一个量子操作。在另一个示例中,更新后的气泡节点不同于第一节点。

图1是其中可以实现本公开的一个或多个特征的示例性装置100的框图。装置100可包括例如计算机、游戏装置、手持式装置、机顶盒、电视机、移动电话或平板计算机。装置100包括处理器102、存储器104、存储装置106、一个或多个输入装置108以及一个或多个输出装置110。装置100还可任选地包括输入驱动器112和输出驱动器114。应理解,装置100可包括图1中未示出的附加部件。

在各种替代方案中,处理器102包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一管芯上的CPU和GPU,或者一个或多个处理器核心,其中每个处理器核心可以是CPU或GPU。在各种替代方案中,存储器104与处理器102位于同一管芯上,或者与处理器102分开定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM或高速缓存。

存储装置106包括固定或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或快闪驱动器。输入装置108包括但不限于键盘、小键盘、触摸屏、触摸板、检测器、传声器、加速计、陀螺仪、生物特征扫描仪或网络连接(例如,用于传输和/或接收无线IEEE 802信号的无线局域网卡)。输出装置110包括但不限于显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线或网络连接(例如,用于传输和/或接收无线IEEE 802信号的无线局域网卡)。

输入驱动器112与处理器102和输入装置108通信,并且容许处理器102接收来自输入装置108的输入。输出驱动器114与处理器102和输出装置110通信,并且容许处理器102将输出发送到输出装置110。注意,输入驱动器112和输出驱动器114为任选部件,并且装置100在不存在输入驱动器112和输出驱动器114的情况下将以相同方式操作。输出驱动器114包括耦合到显示装置118的加速处理装置(“APD”)116。APD 116从处理器102接受计算命令和图形渲染命令,处理那些计算命令和图形渲染命令,并将像素输出提供给显示装置118以进行显示。如下面进一步详细描述,APD 116包括一个或多个并行处理单元,以根据单指令多数据(“SIMD”)范例执行计算。因此,虽然本文中将各种功能描述为由APD 116执行或与其结合来执行,但是在各种替代方案中,被描述为由APD 116执行的功能另外地或替代地由具有类似能力的其他计算装置执行,所述其他计算装置不由主机处理器(例如,处理器102)驱动并且向显示装置118提供图形输出。例如,可以设想的是,根据SIMD范例执行处理任务的任何处理系统可执行本文所描述的功能。替代地,预期不根据SIMD范例执行处理任务的计算系统执行本文所描述的功能。

图2是装置100的框图,示出了与在APD 116上执行处理任务有关的另外的细节。处理器102在系统存储器104中维持一个或多个控制逻辑模块,以供处理器102执行。控制逻辑模块包括操作系统120、内核模式驱动器122和应用程序126。这些控制逻辑模块控制处理器102和APD 116的操作的各种特征。例如,操作系统120直接与硬件通信,并且为在处理器102上执行的其他软件提供到硬件的接口。内核模式驱动器122通过例如向在处理器102上执行以访问APD 116的各种功能的软件(例如,应用程序126)提供应用程序编程接口(“API”)来控制APD 116的操作。内核模式驱动器122还包括即时编译器,所述即时编译器编译程序以供APD 116的处理部件(诸如在下面进一步详细论述的SIMD单元138)执行。

APD 116执行有关选定功能的命令和程序,诸如可适合于进行并行处理的图形操作和非图形操作。APD 116可用于基于从处理器102接收的命令执行图形流水线操作,诸如像素操作、几何计算,以及将图像渲染到显示装置118。APD 116还基于从处理器102接收的命令来执行与图形操作不直接相关的计算处理操作,诸如与视频、物理模拟、计算流体动力学或其他任务相关的操作。

APD 116包括计算单元132,所述计算单元包括一个或多个SIMD单元138,所述SIMD单元根据SIMD范例按照处理器102的请求以并行方式执行操作。SIMD范例是这样一种范例:多个处理元件共享单个程序控制流单元和程序计数器,并且因此执行相同的程序,但是能够用不同的数据执行该程序。在一个示例中,每个SIMD单元138包括十六个通道,其中每个通道与SIMD单元138中的其他通道同时执行同一指令,但是可以以不同的数据执行该指令。如果并非所有通道都需要执行给定指令,则可以利用断言关闭通道。断言也可用于执行具有发散控制流的程序。更具体地,对于具有条件分支或其他指令的程序,其中控制流是基于由单个通道执行的计算,与当前未执行的控制流路径相对应的通道的断言以及对不同控制流路径的串行执行允许任意控制流。

计算单元132中的基本执行单元是工作项。每个工作项表示将在特定通道中并行执行的程序的单个实例。可以在单个SIMD处理单元138上将工作项同时作为“波前”执行。一个或多个波前被包括在“工作组”中,所述工作组包括被指定来执行同一程序的工作项集合。可通过执行构成工作组的波前中的每一者来执行工作组。在替代方案中,波前在单个SIMD单元138上循序执行,或者在不同的SIMD单元138上部分地或完全地并行执行。波前可以被视为可以在单个SIMD单元138上同时地执行的最大工作项集合。因此,如果从处理器102接收到的命令指示特定程序将被并行化到所述程序不能同时在单个SIMD单元138上执行的程度,则该程序被分解成在两个或更多个SIMD单元138上并行化的或在同一SIMD单元138上串行化的(或根据需要并行化和串行化的)波前。调度器136执行与在不同计算单元132和SIMD单元138上调度各种波前相关的操作。

由计算单元132提供的并行性适合于与图形有关的操作,诸如像素值计算、顶点变换和其他图形操作。因此,在一些实例中,从处理器102接受图形处理命令的图形流水线134将计算任务提供给计算单元132以并行执行。

计算单元132还用于执行与图形无关或不作为图形流水线134的“正常”操作的一部分执行的计算任务(例如,执行自定义操作以补充为图形流水线134的操作执行的处理)。在处理器102上执行的应用程序126或其他软件将定义这种计算任务的程序传输给APD 116以供执行。

下面详细描述用于在计算机系统中有效地移动量子位的变化感知系统和方法,并且具体地包括NISQ计算系统。这些系统和方法减轻了错误率的影响,并且因此使量子计算系统所产生的结果的可靠性最大化。

在量子计算系统中,数据必须经由一个或多个链路从一个物理位置移动到另一个物理位置。在量子计算方面,数据可被称为程序量子位。位置或节点可被称为物理量子位。出于实际原因,量子计算机仅允许相邻节点之间的连接性。换句话说,程序量子位或数据仅在相邻节点之间移动。因此,不相邻的节点之间的通信经由中间节点来执行。在一个示例中,量子计算系统在相邻节点之间移动数据,使得两个或多个量子位被路由到同一节点,在该同一节点中对两个或更多个量子位执行量子操作。

有多种方式来实现物理量子位。在一种实现方式中,超导物理量子位各自是作为LC电路的电感器和电容器的组合。在示例中,连接物理量子位的链路由共享总线或谐振器实现。在其中链路是谐振器的示例中,谐振器在专用频率下操作。在一个示例中,为了将程序量子位从一个节点移动到另一个相邻节点,电磁脉冲以微波频率被发送到连接节点的谐振器。在一个示例中,量子计算系统的控制(包括引导程序量子位的移动和量子操作的执行)使用电缆来执行以便以不同的频率和持续时间发送微波脉冲来控制和测量链路、节点和数据中的任一者或多者。

在一个示例中,物理量子位的状态代表程序量子位。如在下文中所使用的,量子位通常可以指数据,并且可以指节点的状态。在一些示例中,节点是量子计算系统中的执行单元或处理器。在一些示例中,节点包括一个或多个算术逻辑单元(ALU)和支持电路系统。在一些示例中,节点包括硬件、软件、或硬件和软件的组合。在一些实施方案中,硬件包括执行量子操作的电路系统。

在一个示例中,量子计算系统包括被分成K个区域的n个节点。在K个区域中的每个区域中,选择节点,该节点与相应区域中的其他节点相比,具有与区域中的其他节点的总体相对更强的连接或链路。该选择的节点可被称为气泡节点,并且在一些示例中,它被有意地留着不使用。该气泡节点然后可用于特定量子位操作,以改善量子计算系统的可靠性。对于两个量子位的每个操作,如果两个量子位来自同一区域,则两个量子位被路由到该区域的气泡节点。换句话说,两个量子位均被映射到气泡节点以执行操作。

在一个示例中,在两个量子位来自两个不同区域的情况下,每个量子位首先被映射到其相应的气泡节点,并且然后量子位被路由到两个相应气泡节点之一以执行操作。由于连接链路的错误率存在显著的可变性,因此在新的时间段内,可以选择具有比前一气泡节点更强的链路的不同节点。

在其中两个量子位来自两个不同区域的另一个示例中,量子计算系统还包括可以被称为超级气泡节点的特殊节点。在一个示例中,超级气泡节点用于跨区域量子位移动和操作。在一个示例中,超级气泡节点直接连接到两个不同区域的两个气泡节点以及具有高度可靠链路的其他超级气泡节点,以实现可靠和有效的跨区域连接性。在一个示例中,超级气泡节点由与受环境影响较小的其他节点不同的材料制成。因此,去往和来自超级气泡节点的链路比其他节点的链路更可靠。

图3是示例性量子计算系统300的有向图表示,该量子计算系统包括控制系统310和节点系统320,该节点系统包括节点A、B、C、D、E和F,量子位Q1和Q2,以及连接相邻节点的单向直接链路。控制系统310可以是硬件、软件、或硬件和软件的组合。在一个示例中,控制系统310是控制节点系统320的操作的电路系统。控制系统310包括例如处理器和控制节点系统320的操作的支持电路系统。例如,控制系统310可包括图1或图2所描绘的示例性装置100的任何部分,以控制节点系统320。在一个示例中,控制系统310包括常规计算系统硬件和软件的组合,其经由电缆耦合到节点系统320,以便以不同的频率和持续时间发送微波脉冲来控制节点系统320。图3所描绘的控制系统310也类似地结合在图4、图5和图6所描绘的示例中。

当本文中引用单向链路时,链路被源节点引用,随后是目的地节点。例如,当引用从节点A到节点C的单向链路时,该链路被称为链路AC。在图3中,每个单向链路被描绘为具有相关联的成功率。成功率是跨单向链路移动量子位不会导致错误的概率的指示。因此,所描绘的成功率指示链路成功地将量子位从链路的一端处的源节点移动到链路的另一端处的目的地节点的相关联的可靠性。例如,如图3所描绘的,链路CB的成功率为0.9。换句话说,量子位有90%的机会成功地从节点C移动到节点B,例如,而不引入错误。

在基线常规量子计算系统中,两个量子位Q1和Q2中的一者被移动到另一个量子位的位置。例如,如图3所示,量子位Q1位于节点A处,并且量子位Q2位于节点E处。量子位Q1从节点A移动到节点E以执行量子操作。在该示例中,通过链路AC、CB和BE将Q1路由到Q2,实现了最大的成功率。因此,相关联的总成功率为0.8×0.9×0.8=0.576。在该示例中,评估可将Q1路由到Q2的所有不同路由排列,并计算其相应的总成功率以确定最佳速率。当节点和相关联链路的数量增加时,与评估所有可能的路由相关联的开销变得高得令人望而却步。

作为替代,在一个示例中,节点B被选择为气泡节点。此处,与节点B相关联的链路(包括链路FB、BF、CB、BC、BE和EB)分别具有0.7、0.7、0.9、0.7、0.8和0.9的相关联的成功率。这些成功率相对优于与其他节点相关联的链路,因此节点B被选为气泡节点。Q1经由链路AC和CB路由到节点B,并且Q2经由链路EB路由到节点B。此处,总成功率然后为0.8×0.9×0.9=0.648,其比上面提供的现有基线示例的成功率高12.5%。

在图3所描绘的示例中,有向图表示较大的量子计算系统中K个区域中的一个区域。在图4中,描绘了更大的量子计算系统400的示例,该量子计算系统包括控制系统410和具有三个区域(区域1、区域2和区域3)的节点系统420。如图4所描绘的,每个区域具有所选择的气泡节点:区域1中的节点B、区域2中的节点N和区域3中的节点AA。每个气泡节点具有比其相应区域的其他节点相对更强的与其相关联的链路。在一个示例中,执行一个版本的Dijkstra算法来选择气泡节点。在气泡节点被选择之后,这些气泡节点被有意地留着不使用。

对于图中给定的源节点,基本的Dijkstra算法找到源节点和所有其他节点之间的最短路径。在一个示例中,Dijkstra算法找到源节点和所有其他节点之间的最高总成功率路径。在修改版本的Dijkstra算法的一个示例中,对于区域内的给定节点,确定从所有其他节点到给定节点的最高总成功率路径。在另一个示例中,确定从给定节点到所有其他节点的最高总成功率路径。

例如,对于图4的区域1,对于节点B,修改后的Dijkstra算法找到从节点A到节点B、从节点C到节点B、从节点J到节点B、从节点K到节点B、从节点L到节点B、从节点S到节点B、从节点T到节点B以及从节点U到节点B具有最高成功率的路径。然后,计算那些路径的总成功率的度量作为节点B的总成功率。在一个示例中,总成功率的度量是从所有其他节点到节点B的总成功率的总和。在另一个示例中,总成功率的度量是从所有其他节点到节点B的总成功率的平均值。另外地或替代地,在一些示例中,总成功率的度量可以是总成功率的任何其他统计度量,包括众数、中值、单个最高成功率链路、最低成功评级链路的单个最高成功率等。在该示例中,修改版本的Dijkstra算法还被用于找到到所有其他节点的具有最高成功率的所有路径,并且计算这些节点的总成功率的度量。最后,与区域中的其他节点相比具有最高总成功率度量的节点被选择为气泡节点。在图4所描绘的示例中,节点B被选为区域1中的气泡节点。

在一个示例中,在要对同一区域内的两个量子位执行操作的条件下,计算将量子位中的一个量子位路由到另一个量子位的位置的第一成功率。如果所计算的成功率小于阈值,则计算将两个量子位路由到其区域的气泡节点的第二成功率。比较所计算的第一成功率和第二成功率,并选择对应成功率较高的候选路由方法。当将一个量子位路由到另一个量子位足够可靠时,将第一成功率与阈值进行比较消除了成功率计算的次数。在一些示例中,阈值被动态或静态地设置,并且由用户、由操作系统、由硬件、由软件或由它们的任何组合来选择。

在一些示例中,修改区域以将一个或多个节点重新分配给不同的区域是有利的。如上所述,环境条件可影响连接量子计算系统中的节点的链路的可靠性。在一个示例中,在第一纪元时间,对于特定节点来说,将量子位路由到第一气泡节点是有利的,因为将量子位移动到第一气泡节点的总成功率是最强的。在该示例中,在第二纪元时间,对于特定节点来说,将量子位路由到不同区域中的第二气泡节点是有利的,因为链路的成功率已经改变,使得将量子位移动到第二气泡节点的总成功率是最强的。然而,在一个示例中,因为区域是由哪些节点可以使用气泡节点来定义的,所以对于要在不同区域中使用气泡节点的节点,该节点首先被重新分配给不同的区域。

图5A和图5B分别描绘了在第一纪元时间t0和第二纪元时间t1的示例性量子计算系统500A和500B的表示。量子计算系统500A包括耦合到节点系统520A的控制系统510A。量子计算系统500B包括耦合到节点系统520B的控制系统510B。在图5A和图5B中,示出了感兴趣的链路成功率。在图5A和图5B所示的示例中,选择节点B、N和AA作为其相应区域的气泡节点。如上所述,节点B、N和AA被选择为与其相应区域的其他节点相比具有相对更强的到周围节点的相关联链路。

如上所述,在一个示例中,区域由可使用特定气泡节点的节点来定义。在一些示例中,节点到区域的分配基于将节点连接到气泡节点的链路的强度。在其他示例中,当节点处的量子位将参与操作时,这些节点被分配给同一区域。因此,将共享操作中涉及的节点分配到同一区域避免了需要跨越区域边界。

如图5A所示,在纪元时间t0期间,链路CB、CD、DE、EN、WN、XW、YX、YZ和ZAA的成功率分别为0.8、0.75、0.9、0.9、0.9、0.85、0.8、0.85和0.9。在纪元时间t0,驻留在节点C处的量子位被移动到气泡节点B,以使用链路CB进行操作,成功率为0.8。类似地,使用链路YZ和ZAA将驻留在节点Y处的量子位移动到气泡节点AA,总成功率为0.85×0.9=0.765。

在另一个示例中,诸如在图5B所描绘的纪元时间t1,环境变化影响链路的可靠性。在该示例中,执行修改后的Dijkstra算法来搜索更好的气泡节点。如上所述,条件的变化有时会导致选择新的气泡节点分配。然而,在图5B所描绘的示例中,气泡节点B、N和AA未被重新分配,而是将这些节点重新分配给不同的区域以及其相关联的气泡节点。在其他示例中,两个新节点均被选作气泡节点,并且区域被重新定义。在一个示例中,考虑位于沿着边界的相邻区域中的节点。如图5A所描绘的,节点C、D、L、M、U、V、F、G、O、P、X和Y被考虑用于重新分配给新的区域和相关联的气泡节点。在其他示例中,节点的任何其他子集或所有节点被考虑用于重新分配。

如图5B所示,链路CB、CD、DE、EN、WN、XW、YX、YZ和ZAA现在的成功率分别为0.5、0.7、0.85、0.9、0.9、0.8、0.75、0.6和0.85。基于这些改变后的成功率,例如,修改后的Dijkstra算法将气泡节点N识别为节点C的更优气泡节点。如图5B所描绘的,将量子位从节点C移动到气泡节点B的成功率为0.5,而将量子位从节点C移动到气泡节点N的总成功率为0.7×0.85×0.9=0.5355。类似地,将量子位从节点Y移动到气泡节点AA的总成功率为0.6×0.85=0.51,而将量子位从节点Y移动到气泡节点N的总成功率为0.75×0.8×0.9=0.54。如图5B所示,基于新的条件,区域被调整,使得节点C从区域1移动到区域2,并且节点C从区域3移动到区域2,使得它们经由更强的链路被映射到气泡节点N。

在上面的一些示例中,感兴趣的量子位位于同一区域内。因此,根据本文的示例,例如,对于量子操作,量子位被移动到同一区域的气泡节点。在其他示例中,两个量子位来自两个不同的区域。对于这种情况,在一个示例中,每个量子位被路由到其相应的气泡节点,并且然后量子位中的一个量子位被路由到另一个气泡节点。在气泡节点直接连接的场景中,这种路由是直接的。然而,在较大系统的示例中,气泡节点有时并不直接连接。对于一个抽象层,节点的数量可能太大,并且对于n个气泡节点,传入和传出的直接链路的数量均是n(n-1)。在此类条件下,将量子位从一个气泡节点传送到另一个气泡节点是不切实际的。

为了降低与管理具有大量气泡节点的量子计算系统中的量子位的移动相关联的成本,在一个示例中,气泡节点被分成组。一组气泡节点中的每个气泡节点都连接到该组的超级气泡节点。此外,每个超级气泡节点连接到其他超级气泡节点。在一些示例中,每个超级气泡节点连接到所有其他超级气泡节点或连接到其他超级气泡节点的某个子集。超级气泡节点提供可靠的跨区域连接性。在一个示例中,超级气泡节点由不同于其他节点的材料制成。在一个示例中,这种材料受环境的影响较小,使得去往和来自超级气泡节点的链路比其他节点的链路更可靠。对于量子位的跨区域移动,量子位首先被路由到其气泡节点,然后被路由到所连接的超级气泡节点。然后在超级气泡节点处对量子位执行量子操作,或者将超级气泡节点处的量子位移动到另一个量子位的气泡节点,并在那里执行量子操作。

图6是包括控制系统610和节点系统620的量子计算系统600的图,该节点系统包括用“S”标记的超级气泡节点和用“B”标记的气泡节点。尽管超级气泡节点被描绘为具有将它们连接到其他节点的单个双向链路,但是这些链路也可以是与量子计算系统600中其他节点之间的那些链路类似的单向传入和传出链路。如上所述,气泡节点被分成组,使得来自区域1和2的第一组气泡节点连接到第一超级气泡节点。来自区域3和4的第二组气泡节点连接到第二超级气泡节点。来自区域5和6的第三组气泡节点连接到第三超级气泡节点。来自区域7和8的第四组气泡节点连接到第四超级气泡节点。尽管每个超级气泡节点被描绘为连接到相等数量的气泡节点,但是气泡节点的组可以每组具有不同数量的气泡节点,因此,不同的超级气泡节点可连接到不同数量的气泡节点。

图7是用于在量子计算系统中有效地路由量子位的示例性方法700的流程图。方法700包括,在710处,测量与第三多个节点之间的第二多个连接相关联的第一多个性能,以确定与第二多个连接相关联的第四多个可靠性。方法700还包括,在720处,选择第三多个节点中的气泡节点。根据以上描述,气泡节点与第三多个节点中的其他节点相比具有相关联的可靠性相对较高的连接。

方法700还包括,在730处,确定将第一量子位移动到第二量子位的总成功率是否小于阈值。如果总成功率不小于阈值,则该方法移动到740,并且第一量子位或第二量子位中的一个量子位被移动到另一个量子位,并且使用这些量子位来执行量子操作。如果总成功率小于阈值,则该方法移动到750,并且确定将量子位移动到气泡节点的总成功率是否大于将一个量子位移动到另一个量子位的总成功率。如果将量子位移动到气泡节点的总成功率不大于将一个量子位移动到另一个量子位的总成功率,则该方法移动到740,并且将一个量子位移动到另一个量子位,并且使用这些量子位来执行量子操作。如果将量子位移动到气泡节点的总成功率大于将一个量子位移动到另一个量子位的总成功率,则该方法移动到760,并且来自第一节点的第一量子位被移动到气泡节点。在770处,第二量子位被选择性地从第二节点移动到气泡节点。方法700还包括,在780处,使用量子位在气泡节点处执行量子操作。

尽管图7所示的方法700以特定的顺序描绘了步骤并且被分成不同的步骤,但是其他示例包括重新排列、组合或划分步骤。例如,尽管步骤730和740是分开描述的,但是这些步骤可以在单个步骤中同时执行。此外,可从方法700中去除步骤。例如,方法700可以从步骤720直接移动到步骤760,而无需将成功率与阈值进行比较或者将一个量子位路由过程与另一个量子位路由过程进行比较。

图8是用于在量子计算系统中跨区域有效地路由量子位的示例性方法800的流程图。方法800包括,在810处,为多个区域中的每个区域选择气泡节点,该气泡节点与相应区域的其他节点相比具有相关联的可靠性相对较高的连接。方法800还包括,在820处,对于多个区域中的每个区域,选择性地将驻留在同一区域中的量子位移动到同一区域的相应气泡节点。该方法还包括,在830处,将第一气泡量子位从第一气泡节点移动到连接到第一气泡节点的超级气泡节点。方法800还包括,在840处,将第二气泡量子位从第二气泡节点移动到连接到第二气泡节点的超级气泡节点。方法800还包括,在850处,使用第一气泡量子位和第二气泡量子位在超级气泡节点处执行量子操作。替代地,移动到超级气泡节点的量子位然后可移动到另一个量子位的气泡节点,并且可以在气泡节点处形成量子操作。

类似于如上文相对于图7中描绘的方法700所述,图8所示的步骤可以被重新排列、组合或划分。例如,尽管步骤810包括为每个区域选择气泡节点,并且然后在步骤820中将量子位移动到气泡节点,但替代地,可以为区域选择气泡节点,并且可以将该区域中的量子位移动到气泡节点,并且然后可对下一个区域循序地重复这一过程。替代地,对于所有区域或区域的某个子集,可以并行地进行气泡节点的选择和量子位到相应气泡节点的路由。

图9是描绘用于修改区域和更新区域的气泡节点的另一种示例性方法900的流程图。方法900包括,在910处,选择区域中的多个节点中的气泡节点。方法900包括,在920处,基于与在修改后的区域中的节点之间移动量子位相关联的新可靠性来修改区域以向该区域添加或移除一个或多个节点。这包括,例如,将节点从第一区域移动到第二区域,因为将量子位从该节点移动到第二区域的气泡节点的总成功率高于将量子位从该节点移动到第一区域的气泡节点的总成功率。方法900包括,在930处,基于修改后的区域的新可靠性来选择更新后的气泡节点。在一个示例中,更新后的气泡节点与先前的气泡节点相同,而在另一个示例中,更新后的气泡节点不同于先前的气泡节点。

图7、图8和图9中描绘的包括在其中的方法和步骤可以结合由例如图3、图4和图5中描绘的控制系统提供的控制来执行。例如,图3中的控制系统310控制图3中的节点系统320,并执行图7中描绘的步骤的任何部分。

应当理解,基于本文的公开内容,许多变型是可能的。虽然上面以特定的组合描述了特征和要素,但是每个特征或要素可单独使用而无需其他特征和要素,或者以具有或不具有其他特征和要素的各种组合使用。

图中所示和/或本文所描述的各种功能单元(包括但不限于处理器102、输入驱动器112、输入装置108、输出驱动器114、输出装置110、加速处理装置116、调度器136、图形处理流水线134、计算单元132、SIMD单元138)、节点和超级气泡节点可以被实现为通用计算机、处理器或处理器核心,或者被实现为程序、软件或固件,存储在非暂时性计算机可读介质或另一种介质中,可由通用计算机、处理器或处理器核心执行。所提供的方法可在通用计算机、处理器或处理器核心中实现。合适的处理器包括例如通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)和/或状态机。可以通过使用处理后的硬件描述语言(HDL)指令的结果和包括网表的其他中间数据(此类指令能够存储在计算机可读介质上)配置制造工艺来制造这种处理器。此种处理的结果可以是掩模作品,然后在半导体制造过程中使用所述掩模作品来制造实现本公开的特征的处理器。

本文提供的方法或流程图可以在并入非暂时性计算机可读存储介质的计算机程序、软件或固件中实现,以便由通用计算机或处理器执行。非暂时性计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、寄存器、高速缓存存储器、半导体存储器装置、磁性介质(诸如内部硬盘和可移动磁盘)、磁光介质以及光学介质(诸如CD-ROM盘以及数字通用光盘(DVD))。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号