CN117561522A - 用于经由融合和分解门来减少分布式量子系统中的误差的装置和方法 - Google Patents

用于经由融合和分解门来减少分布式量子系统中的误差的装置和方法 Download PDF

Info

Publication number
CN117561522A
CN117561522A CN202280045171.9A CN202280045171A CN117561522A CN 117561522 A CN117561522 A CN 117561522A CN 202280045171 A CN202280045171 A CN 202280045171A CN 117561522 A CN117561522 A CN 117561522A
Authority
CN
China
Prior art keywords
quantum
gate
module
gates
sequences
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
Application number
CN202280045171.9A
Other languages
English (en)
Inventor
N·萨瓦亚
A·松浦
J·奥加博姆
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN117561522A publication Critical patent/CN117561522A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/70Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms

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)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)
  • Logic Circuits (AREA)
  • Advance Control (AREA)

Abstract

一种经由融合和分解门来减少分布式量子计算中的误差的装置和方法。例如,装置的一个实施例包括:量子模块,该量子模块包括多个量子比特;酉生成逻辑,该酉生成逻辑用于组合一组量子门以形成至少一个酉运算;分解逻辑,该分解逻辑用于将酉运算分解为多个替代门序列,该多个替代门序列包括精确门序列或者近似门序列;以及选择逻辑,该选择逻辑用于基于代价函数来评估多个替代门序列以识别门序列中的至少一个门序列。

Description

用于经由融合和分解门来减少分布式量子系统中的误差的装 置和方法
技术领域
本发明的实施例总体上涉及量子计算的领域。更具体地,这些实施例涉及经由融合和分解门(fusing-and-decomposing gate)来减少分布式量子系统中的误差。
背景技术
量子计算指代与使用量子力学现象来操纵数据的计算系统相关的研究领域。这些量子力学现象(例如,叠加(其中量子变量可以同时存在于多个不同的状态中)和纠缠(其中多个量子变量具有相关状态,而不管这些量子变量之间在空间或时间上的距离如何)在经典计算世界中没有类似物,因此无法利用经典计算设备来实现。
附图说明
通过以下结合附图的详细描述,可以获得对本发明的更好的理解,在附图中:
图1A-图1F示出了根据一个实施例的示例量子点设备的各种视图;
图2示出了用于处理量子指令和非量子指令的处理器管线的一个实施例;
图3示出了用于处理量子指令和非量子指令的处理器的前端电路系统的实施例;
图4A-图4B示出了量子经典处理器接口的实施例;
图5A-图5B示出了示例量子电路和用于实现该量子电路的程序代码;
图6A-图6B示出了其中量子指令由编译器生成、被解码为uop并且在量子执行引擎内执行的示例;
图7示出了根据本发明的一个实施例的方法;
图8示出了用于对量子处理器内的量子比特(qubit)进行寻址的量子比特索引生成器的一个实施例;
图9示出了用于确定量子比特索引值的方法,该量子比特索引值用于识别量子比特;
图10示出了对量子误差进行解码和校正的系统的示例;
图11示出了典型的量子纠错周期;
图12A-图12B示出了量子门之间的模块间互连;
图13A示出了用于融合多个量子门以形成酉(unitary)的酉生成逻辑;
图13B示出了用于将酉分解成多个替代门序列的分解逻辑;
图14A-图14B示出了用于跨越模块的多个量子比特的量子门的布置;
图15示出了对所选量子比特分区执行融合和分解操作的融合和分解逻辑;
图16A示出了与针对特定时钟周期的门操作相关联的时序;
图16B示出了在给定时钟周期期间执行的量子操作(即,门)的位置的示例;以及
图17示出了根据本发明一个实施例的方法。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节,以便提供对下面描述的本发明实施例的透彻理解。然而,对本领域技术人员来说,显而易见的是,可以在没有这些具体细节中的一些细节的情况下实践本发明的实施例。在其他实例中,以框图形式示出了公知的结构和设备,以避免模糊本发明实施例的基本原理。
介绍
量子计算机使用量子力学现象(例如,叠加和纠缠)来执行计算。与将数据存储在两种确定状态中的一种状态(0或1)中的数字计算机相反,量子计算使用量子比特(qbit),该量子比特可以处于状态的叠加中。量子比特可以使用基本粒子(例如,电子和光子)的物理上可区分的量子态来实现。例如,可以使用光子的偏振,其中两种状态是垂直偏振和水平偏振。类似地,电子的自旋可能具有诸如“上自旋”和“下自旋”之类的可区分状态。
量子比特状态典型地由括号记法|0>和|1>来表示。在传统的计算机系统中,比特只处于一种状态或另一种状态(即,“0”或“1”)中。然而,量子力学系统中的qbit可以同时处于两种状态的叠加中,这是量子计算独有且基本的特征。
量子计算系统执行的算法包含对量子比特执行的量子逻辑运算。操作序列被静态地编译为时间表(schedule),并且使用索引方案来对量子比特进行寻址。然后,该算法被执行足够多的次数,直到计算出的答案的置信区间高于阈值(例如,~95+%)为止。达到阈值意味着已经达到了期望的算法结果。
量子比特已经使用各种不同的技术来实现,这些技术能够操纵和读取量子态。这些包括但不限于(基于自旋的和基于空间的)量子点设备、囚禁离子设备(trapped-iondevice)、超导量子计算机、光学晶格、核磁共振计算机、固态NMR凯恩量子设备、氦上电子量子计算机、腔量子电动力学(CQED)设备、分子磁体计算机和基于富勒烯的ESR量子计算机,仅举几例。因此,尽管下面结合本发明的特定实施例描述了量子点设备,但本发明的基本原理可以结合任何类型的量子计算机(包括但不限于上面列出的那些量子计算机)使用。用于qbit的特定物理实现方式与本文描述的本发明的实施例正交。
量子点设备
量子点是小型半导体粒子,其大小典型地为几纳米。由于该较小的大小,量子点根据量子力学的规则操作,从而具有不同于宏观实体的光学和电子属性。量子点有时被称为“人造原子”,这意味着量子点和原子或分子的情况一样,是具有离散的束缚电子态的单个对象的事实。
图1A-图1F是量子点设备100的各种视图,该量子点设备100可以与下面描述的本发明的实施例一起使用。图1A是量子点设备100的一部分的顶视图,其中一些材料被移除,使得第一栅极线102、第二栅极线104和第三栅极线106可见。虽然本文的附图中的许多附图和描述可以将特定集合的线或门分别称为“势垒”或“量子点”线或门,但这只是为了便于讨论,并且在其他实施例中,“势垒”和“量子点”线和门的作用可以交换(例如,势垒门可以替代地用作量子点门,反之亦然)。图1B-图1F是图1A的量子点设备100的侧截面图;特别地,图1B是通过图1A的截面B-B的视图,图1C是通过图1A的截面C-C的视图,图1D是通过图1A的截面D-D的视图,图1E是通过图1A的截面E-E的视图,并且图1F是通过图1A的截面F-F的视图。
图1的量子点设备100可以以多种方式中的任何一种方式操作。例如,在一些实施例中,诸如电压、电流、射频(RF)和/或微波信号之类的电信号可以被提供给一个或多个第一栅极线102、第二栅极线104和/或第三栅极线106,以使量子点(例如,基于电子自旋的量子点或基于空穴自旋的量子点)在第三栅极线106的第三栅极166下的量子阱堆叠体(quantum well stack)146中形成。提供给第三栅极线106的电信号可以控制在该第三栅极线106的第三栅极166下的量子阱的电位,而提供给第一栅极线102(和/或第二栅极线104)的电信号可以控制在该第一栅极线102的第一栅极162(和/或在该第二栅极线104的第二栅极164)下在相邻量子阱之间的势能势垒。在量子阱堆叠体146中的不同量子阱中的量子点之间(例如,在不同量子点门下)的量子交互可以部分地由这些量子点之间施加的势垒电位提供的势能势垒(例如,通过介入的势垒门)来控制。
通常,本文公开的量子点设备100还可以包括磁场源(未示出),该磁场源可以用于在通常退化的量子点的状态(例如,基于电子自旋的量子点的自旋态)中产生能量差,并且量子点的状态(例如,自旋态)可以通过将电磁能施加到栅极线以产生能够计算的量子比特来被操纵。磁场源可以是一条或多条磁力线,如下面所讨论的。因此,本文公开的量子点设备100可以通过电磁能的受控应用而能够操纵量子阱堆叠体146中量子点的位置、数量和量子态(例如,自旋)。
在图1的量子点设备100中,栅极电介质114可以被设置在量子阱堆叠体146上。量子阱堆叠体146可以包括至少一个量子阱层152(图1中未示出),在该至少一个量子阱层152中,量子点可以在量子点设备100的操作期间被局部化。栅极电介质114可以是任何合适的材料,例如,高k材料。多条平行的第一栅极线102可以被设置在栅极电介质114上,并且间隔材料118可以被设置在第一栅极线102的侧面上。在一些实施例中,经图案化的硬掩模110可以被设置在第一栅极线102上(其中图案对应于第一栅极线102的图案),并且间隔材料118可以沿着硬掩模110的侧面向上延伸,如所示的。第一栅极线102中的每一个可以是第一栅极162。第一栅极线102中的不同的第一栅极线102可以以任何期望的组合被电控制(例如,每个第一栅极线102可以被单独地电控制,或者根据需要,第一栅极线102中的一些或全部可以在一个或多个组中短路在一起)。
多条平行的第二栅极线104可以被设置在第一栅极线102上方和之间。如图1所示,第二栅极线104可以垂直于第一栅极线102布置。第二栅极线104可以在硬掩模110上方延伸,并且可以包括第二栅极164,该第二栅极164朝向量子阱堆叠体146向下延伸并在第一栅极线102中的相邻第一栅极线102之间接触栅极电介质114,如图1D所示。在一些实施例中,第二栅极164可以填充在第一栅极线102/间隔材料118结构中的相邻第一栅极线102/间隔材料118结构之间的区域;在其他实施例中,绝缘材料(未示出)可以存在于第一栅极线102/间隔材料118结构与邻近的第二栅极164之间。在一些实施例中,间隔材料118可以被设置在第二栅极线104的侧面上;在其他实施例中,在第二栅极线104的侧面上可以不设置间隔材料118。在一些实施例中,硬掩模115可以被设置在第二栅极线104之上。第二栅极线104的第二栅极164中的多个第二栅极164是电连续的(由于在硬掩模110之上的第二栅极线104的共享导电材料)。第二栅极线104中的不同的第二栅极线104可以以任何期望的组合被电控制(例如,每个第二栅极线104可以被单独地电控制,或者根据需要,第二栅极线104中的一些或全部可以在一个或多个组中短路在一起)。第一栅极线102和第二栅极线104可以一起形成网格,如图1所描绘的。
多条平行的第三栅极线106可以被设置在第一栅极线102和第二栅极线104上方和之间。如图1所示,第三栅极线106可以与第一栅极线102成对角线布置,并且与第二栅极线104成对角线布置。特别地,第三栅极线106可以在由第一栅极线102和第二栅极线104形成的网格中的开口上方成对角线布置。第三栅极线106可以包括第三栅极166,该第三栅极166在由第一栅极线102和第二栅极线104形成的网格中的开口中向下延伸到栅极电介质114;因此,每个第三栅极166可以由两个不同的第一栅极线102和两个不同的第二栅极线104界定。在一些实施例中,第三栅极166可以由绝缘材料128界定;在其他实施例中,第三栅极166可以填充网格中的开口(例如,接触被设置在相邻的第一栅极线102和第二栅极线104的侧面上的间隔材料118,未示出)。附加绝缘材料117可以被设置在第三栅极线106上和/或第三栅极线106周围。第三栅极线106的第三栅极166中的多个第三栅极166是电连续的(由于在第一栅极线102和第二栅极线104上方的第三栅极线106的共享导电材料)。第三栅极线106中的不同的第三栅极线106可以以任何期望的组合被电控制(例如,每个第三栅极线106可以被单独地电控制,或者根据需要,第三栅极线106中的一些或全部可以在一个或多个组中短路在一起)。
虽然图1A-图1F示出了特定数量的第一栅极线102、第二栅极线104和第三栅极线106,但这仅仅是为了说明目的,并且量子点设备100中可以包括任何数量的第一栅极线102、第二栅极线104和第三栅极线106。第一栅极线102、第二栅极线104和第三栅极线106的布置的其他示例是可能的。电互连(例如,通孔和导线)可以以任何期望的方式接触第一栅极线102、第二栅极线104和第三栅极线106。
图1中未示出可以电耦合到量子阱堆叠体146的量子阱层的累积区域(例如,横向接近量子阱层)。累积区域可以由一薄层介入介电材料与栅极线隔开。累积区域可以是载流子累积(例如,由于掺杂,或者由于存在将载流子拉入量子阱层的大电极)的区域,并且可以用作载流子的储存器,这些载流子可以被选择性地拉入第三栅极166下方的量子阱层的区域中(例如,通过控制量子点栅极、第一栅极162和第二栅极164上的电压)以形成基于载流子的量子点(例如,电子或空穴量子点,其包括单个电荷载流子、多个电荷载流子或者不包括载流子)。在其他实施例中,量子点设备100可以不包括横向累积区域,而是可以包括在量子阱堆叠体146内的掺杂层。这些掺杂层可以为量子阱层提供载流子。在本文公开的量子点设备100的实施例中的任何实施例中,可以使用量子阱堆叠体146中的累积区域(例如,掺杂或非掺杂)或掺杂层的任何组合。
用于混合经典量子计算机的装置和方法
自从1982年Richard Feynman提出是否能够使用量子计算机来高效地仿真量子物理之后,对量子计算机的研究大部分集中在量子计算机的通用性以及与经典计算相比的效率上。一个这样的示例是在1985年David Deutsch的量子图灵机,该量子图灵机可以被编程以执行可以由任何物理对象执行的任何计算任务。
与理论和算法相反,量子物理机器仍处于起步阶段。到目前为止,构建量子信息处理系统的努力已经取得了适度的成功。能够对极少的量子比特执行量子操作的小型集合的小型量子计算机代表了量子计算的最新水平。此外,量子态是脆弱的,因为量子态只能在有限的持续时间内保持相干。在算法与物理机器之间的这种差距已经推动了发明混合经典量子算法的努力。一些近期的量子算法发展集中在短深度量子电路上,以执行作为嵌入在更大的经典优化循环中的子例程而形成的量子计算,例如,变分本征求解器(P.J.J.O’Malley,2016)。已经开发了量子语言、工具和流,从而提供了将应用转换和优化到量子物理层的软件层/栈,以应对量子计算中严格的资源限制(Frederic T.Chong,2017年9月14日)。
在硬件侧,经典计算机已经用于针对量子计算执行纠错。“量子协处理器”模型是目前最有利的执行模型,其中经典CPU控制量子处理单元的方式类似于现代计算机系统中的CPU与GPU交互的方式。如(X.Fu,2016年5月)和(X.Fu,2018年)中所述,用于实验超导量子协处理器的微架构包括这样的特征:例如,代码取得数据路径上的仲裁器,其用于将经典指令引导到主机CPU并且将量子指令引导到量子协处理器,用于在主机CPU与量子协处理器之间同步寄存器文件的交换寄存器文件,以及量子指令高速缓存。
然而,这些机制的微架构还没有被很好地定义,并且缺乏针对混合经典-量子程序的显式支持。因此,不清楚量子协处理器是如何在量子计算机内实现的,尤其是如何在要求运行多种量子程序集合的量子计算机内实现的。尚未开发出针对执行混合经典-量子算法的灵活且可编程的模型。
本发明的一个实施例将量子指令集添加到诸如CPU之类的处理器的指令集架构(ISA)中。通过示例的方式,这些指令可以被包括在ISA的扩展中(例如,用于x86平台的AVX-512扩展)。此外,在一个实施例中,将量子引擎添加到处理器的执行单元中,并且在量子引擎的功能单元上取得、解码、调度和执行新的量子指令。在一个实施例中,量子引擎使用共享寄存器文件和/或系统存储器来与经典执行引擎交互。在执行量子指令(或在本文描述的特定实施例中的量子uop)时,量子执行引擎生成控制信号以操纵量子处理器内的量子比特的状态。量子引擎还执行指令以对指定的量子比特的集合进行测量并且存储结果。在这些实施例中,量子/经典接口提供在经典处理器的量子引擎与量子处理器之间的连通性。
图2示出了处理器或核心210的一个实施例,该处理器或核心210利用与非量子指令201B相同的管线资源来取得、解码和执行量子指令201A和非量子指令201B。本实施例的处理器/核心210支持对处理器/核心210的现有ISA的量子扩展(例如,扩展ISA以包括量子指令201A)。由编译器205B根据由程序员编写的源代码205A(例如,利用扩展的ISA)生成包括量子指令和非量子指令的程序代码205C。下面提供了各种源代码/程序代码示例。
量子指令201A和非量子指令201B从在指令管线的前端处的存储器205中取得,并且被存储在1级(L1)指令高速缓存201中。指令和数据还可以被存储在管理存储器请求和高速缓存相干性的高速缓存/存储器子系统215内的2级或3级高速缓存内。
解码器202将指令201A-201B解码为由调度器203调度以供执行并且由执行电路系统204执行的微操作或uop 203A。在一个实施例中,增强管线的特定阶段以包括用于处理量子指令201B的硬件支持,而不改变其他阶段。例如,可以将量子解码电路系统202A添加到解码器202以解码量子指令201A,就像非量子解码电路系统202B解码非量子指令201B一样。虽然出于解释的目的,量子解码电路系统202A和非量子解码电路系统202B在图2中被示为单独的组件,但是量子解码电路系统202A和非量子解码电路系统202B可以包括电路系统和/或微码的公共或重叠的集合。例如,在一个实施例中,现有解码器可以被扩展为包括对(例如,在微码ROM中的)量子指令的微码支持,以生成新的量子uop集合。取决于处理器架构,解码器202包括诸如解码表结构集合(参见例如图3和相关联文本)之类的其他解码电路系统。
在一个实施例中,解码器202响应于对指令201A-201B的解码而生成uop 203A的序列。在具有量子指令和非量子指令的实现方式中,uop可以包括量子uop和非量子uop的混合,然后由指令调度器203调度这些量子uop和非量子uop以供执行。
由解码器202生成的量子uop和非量子uop 203A最初可以在调度器203的一个或多个uop队列内排队以供执行,该调度器203根据依赖关系和/或执行资源可用性从uop队列中分派uop。本发明的实施例可以在具有不同类型调度器的各种不同类型处理器上实现。例如,在一个实施例中,执行“端口”的集合将调度器203耦合到执行电路系统204,其中每个执行端口能够向功能单元204C-204E的特定集合发布uop。在图2所示的示例架构中,例如,SIMD和浮点(FP)uop可以由调度器203通过耦合到FP/SIMD功能单元204C的集合的FP/SIMD执行端口发布,并且整数uop可以通过耦合到整数功能单元204D的集合的整数端口发布。虽然为了简单起见仅示出了两种类型的非量子功能单元,但处理器/核心210可以包括各种其他/附加的非量子功能单元(例如,加载/存储地址生成单元、分支单元、附加SIMD和整数单元等)。
在图2所示的特定实施例中,量子引擎功能单元204E共享由旧有处理器功能单元204C-204D使用的寄存器文件204A-204B的相同集合。在该特定示例中,寄存器文件204A-204B包括存储由FP/SIMD功能单元204C使用的浮点和SIMD操作数的FP/SIMD寄存器文件204A,以及存储用于整数功能单元204D的整数操作数的整数寄存器文件204B。在一个实现方式中,FP/SIMD寄存器文件204A包括512比特向量寄存器,并且整数寄存器文件204B包括64比特标量寄存器。当然,不同的处理器架构将使用由量子引擎功能单元204E共享的不同类型的寄存器。也可以使用各种其他类型的寄存器,例如,控制/状态寄存器和掩码寄存器的集合。
在其中量子uop与非量子uop混合的实施例中,量子uop通过一个或多个量子端口被发布到量子引擎功能单元204E的集合,该量子引擎功能单元204E的集合执行量子uop以执行底层量子操作。例如,响应于量子uop,量子引擎功能单元204E可以在量子-经典接口206上生成控制信号,以操纵量子处理器207的量子比特并对该量子比特进行测量。
量子-经典接口206包括用于将由量子引擎功能单元204E生成的数字量子控制信号转换为控制量子处理器207所要求的模拟信号的数字到模拟(D-A)电路系统(例如,下面描述的码字触发脉冲生成(CTPG)单元和任意波形生成器(AWG)),并且还包括用于将物理量子比特测量转换为数字结果数据的模拟到数字(A-D)电路系统。
在一个实施例中,量子-经典接口206与指令处理管线的其他组件(例如,执行电路系统204、调度器203、解码器202等)集成在相同的半导体芯片上。如下面详细讨论的,取决于量子处理器207的特定物理实现方式,可以使用不同类型的电路/逻辑组件。
图3示出了一个实施例,其中量子指令处理支持被添加到低功率处理管线中,该低功率处理管线包括预解码缓冲器301B、具有量子/非量子解码器电路系统202A-202B、302A-302B的双集合的双向解码器302、用于指令转换(XLAT)的双查找表和ucode ROM 304。在一个实施例中,XLAT组件303、305和ucode ROM 304被扩展以支持量子指令,如逻辑块303Q-305Q所指示的。在由双向解码器302完全解码为uop之前,预解码缓冲器301B检测并标记宏指令边界。
量子uop和非量子uop的操作数被存储在共享寄存器321的集合中(如上所述),并在执行uop时由量子功能单元320访问。响应于量子uop,Q-C接口320控制量子处理器207的操作,
量子-经典接口206的不同示例在图4A-图4B中示出。图4A中的Q-C接口206包括多个uop单元401A-401C,这些uop单元401A-401C响应于由量子引擎功能单元204E执行的uop,生成码字以控制多个码字触发脉冲生成(CTPG)单元402A-402C的操作。作为响应,CTPG单元402A-402C生成脉冲序列以控制量子处理器207的量子比特。一旦量子处理器207已经达到指定的执行状态,就由测量判别单元(MDU)403A-403B中的一个或多个进行量子测量。
图4B所示的Q-C接口206包括用于执行微波复信号生成的组件的集合,该组件的集合包括RF微波单元451、多通道任意波形生成器(AWG)452、一个或多个数模转换器(DAC)453和一个或多个测量单元454。在一个实施例中,到这些组件中的每一个组件的输入包括由量子引擎功能单元204E生成的码字集合,并且输出是操纵量子处理器207的量子比特的状态的模拟波形。测量单元454对与在执行中的指定点处的一个或多个量子比特相关联的当前状态进行测量。
为了进一步指导分析和讨论,图5A示出了具体的示例,图5A示出了针对随时间演进的多体无序哈密顿量的量子电路。注意,Rx和Ry旋转的角度是从若干参数导出的。特别地,和/>(k∈{0,1,...,5,6})是随机生成的,并且用于对要求比底层量子芯片支持的量子比特数多得多的量子比特数的大型多体系统进行仿真。
图5B示出了量子程序的示例,该量子程序使用该电路进行计算的一部分,该量子程序包括量子指令和非量子指令的混合(如源代码右边的注释所指示的)。在该示例中,NR是无序实现的次数(即,对大型多体系统进行仿真的多次小型随机实现),NQ是量子比特的数量,NP是为了实现所要求的概率精度(Pr)而进行的迭代的次数,NT是Trotter步长的数量,并且a[i]累加量子比特测量。通过重复测量(NP)并且进行平均,获得量子比特处于|0>或|1>状态的概率。
该程序结构示出了如何将经典操作和量子操作紧密地交织在一起,并且在本文描述的经典-量子处理架构上执行。执行该程序的最高效的方式是处理在例如上述那些管线中的所有指令,其中用于控制量子比特的量子引擎功能单元204E被配置作为与其他经典执行引擎204A-204B(例如,整数、浮点等)对等的执行引擎。
图6A-图6B提供了响应于图5A中的程序代码而执行的量子操作的示例。特别地,图6A示出了用于实现图5A中量子电路的强调部分501的量子汇编语言(QASM)代码601的一部分。QASM代码601被编译为存储器205中的混合处理器程序代码602。在该示例中,来自共享寄存器文件321或204B的寄存器RBX和RBX+1用于保存量子比特索引,以在该特定示例中分别对逻辑量子比特#2和#3进行寻址。QASM代码601的相关部分到混合处理器程序代码602的映射由箭头指示。
图6B示出了解码器202如何将量子宏指令QCNOTUP(用于实现CNOT门)解码为一系列uop 605。uop 605由量子引擎功能单元204E执行,以生成具有指定码字或命令分组格式606的码字。在一种特定格式中,第一数据字段指示要对其执行操作的量子比特(在示例中是量子比特3),第二数据字段指示要在其上传输操作的信道(信道4),第三字段用于指示命令状态(例如,单个命令状态),并且第四数据字段用于指示量子比特的类型(transmon量子比特)。当然,本发明的基本原理不限于任何特定的编码格式。
根据本发明一个实施例的方法如图7所示。该方法可以在上述处理器架构的上下文内实现,但不限于任何特定的处理器或系统架构。
在701处,对包含量子指令的源代码进行编译以生成具有量子指令和非量子指令的运行时程序代码。在702处,从存储器中取得量子/非量子指令,并且将该量子/非量子指令存储在本地高速缓存(例如,L1指令高速缓存)或指令缓冲器中。如所提到的,量子指令可以在管线内自由地与非量子指令混合。
在703处,量子指令和非量子指令分别被解码为量子uop和非量子uop的集合,并且在执行之前被存储在队列中。在704处,基于uop和/或资源依赖关系来调度量子/非量子uop以供执行。例如,如果第一uop依赖于第二uop的结果,那么只有当第二uop产生的数据在寄存器中的一个寄存器中可用时,才可以调度第一uop以供执行。类似地,如果特定功能单元忙,则调度器可以等待该功能单元可用的指示,然后再调度要求该功能单元的uop。可以实现各种其他/附加调度技术(例如,基于优先级、寄存器负载等的调度)。
在705处,在执行电路系统内在量子uop和非量子uop的相应的功能单元上执行量子uop和非量子uop。如所提到的,共享寄存器集合可以用于存储这些uop所要求的源操作数和目的地操作数。
在706处,由量子uop的执行生成的结果可以用作对接口单元的输入,以控制量子处理器中的量子比特的量子态。在一个实施例中,可以生成一系列码字或命令分组,该一系列码字或命令分组识别量子信道、量子处理器内的一个或多个量子比特、量子比特类型和/或命令状态。响应于码字或命令分组而执行的特定物理操作是基于所使用的量子处理器的底层类型的。
本文描述的实施例在现有处理器管线内集成量子指令。由于紧密集成,这些实施例显著减少了与当前协处理器设计相关联的各种开销/瓶颈。这些开销/瓶颈包括例如在软件栈中的经典计算层/模块与量子计算层/模块之间的通信,以及在经典CPU与量子芯片之间经由消息队列的通信。在给定量子例程的相对小的大小的情况下,当前的类GPU协处理器实现方式是低效的。
由于增加了经典的处理能力,因此混合协处理器模型减少了开销中的一些开销。在支持混合协处理器模型的一个具体实现方式中,引入了许多新的微架构机制。然而,这些微架构机制的定义是模糊的,经典CPU与量子协处理器之间的界限也是如此。
相反,在本文描述的混合架构中,经典计算管线被配备为完全支持定义的量子指令集,该定义的量子指令集可以在管线的前端处(即,在宏指令级)和管线的后端内(例如,其中量子uop与非量子uop混合)与非量子指令自由混合,并且在处理器的执行电路系统内的功能单元上执行。
用于量子执行引擎和/或协处理器的可扩展量子比特寻址模式
在量子计算中,量子比特是量子信息的单位,并且是经典二进制比特的量子模拟物。计算是通过将表示量子逻辑运算的量子门直接应用于量子比特来实现的。在数学上,这个计算过程被描述为量子比特经历酉变换。当计算完成时,量子比特被测量以获得关于量子比特状态的信息。
因此,为了描述量子操作,识别应用该操作的量子比特或量子比特的集合是有必要的。在量子程序中,每个量子指令需要对以下两者进行编码:要执行的操作、以及要对其执行操作的一个或多个量子比特。在现有的量子指令集架构(例如,QASM、Open QASM、QIS等)中,寄存器操作数通常被编码在指令的操作码中。该方案适用于经典计算,因为寄存器的数量非常有限(例如,16个、32个、64个等)。然而,由于量子指令最终将需要对非常大量的量子比特进行寻址,因此这种方案对于量子计算来说是不可扩展的。因此,在量子指令的操作码字段中编码量子比特地址会使指令宽度爆炸。
如上所述,在一个实施例中,量子指令和非量子指令在共享处理器管线内被一起处理。因此,量子指令可以依赖于与非量子指令可用的那些寻址模式相同的寻址模式。因此,本实施例中的量子比特以类似于访问系统存储器的非量子指令的方式被寻址,从而提供足够大的地址空间以容纳大量的量子比特。
如图8所示,在本实施例中,量子引擎功能单元204E包括量子比特索引生成单元(QIG)802,该量子比特索引生成单元(QIG)802响应于一个或多个uop 805而确定量子比特索引值或量子比特ID。一个或多个量子操作单元801处理由uop指定的操作。然后,量子比特索引值(例如,针对示例中的量子比特3为011)潜在地与一个或多个命令一起并入码字/命令分组606内,其中,该一个或多个命令是由量子操作单元801响应于处理uop 805而生成的。
QIG 802可以根据由处理器支持的不同寻址模式来操作。在一个实施例中,指令识别包含量子比特索引值(有时也称为量子比特ID)的共享寄存器321中的一个共享寄存器321。然后,该QIG802可以使用量子比特索引值来识别码字/命令分组606内的量子比特,和/或使用量子比特索引值执行操作以生成一个或多个附加量子比特索引值。例如,该QIG 802可以将量子比特ID值添加到由uop指定的整数以生成第二量子比特ID。
以下示例演示了QIG 802响应于uop使用x86汇编语法生成量子比特ID的一种方式。这些操作可以在x86管线内执行,该x86管线被扩展以支持量子指令。然而,相同的一般原理可以在任何处理器架构上实现。
单个量子比特指令“QIROTX[RDI],1”对存储在RDI中的量子比特数应用X门。因此,如果RDI包含5,则将X门应用于量子比特数5。在该示例中,QIG 802简单地通过读取存储在RDI(在该示例中,RDI是共享寄存器321中的一个)中的值来确定量子比特ID。在该实施例中,RDI值先前由另一uop存储。作为另一示例,如果架构寄存器RBX包含值2,那么两个量子比特指令“QCNOTUP[RBX+3]”应用CNOT操作,其中量子比特2(q[2])为控制量子比特并且量子比特5(Q[5])为目标量子比特。QIG将[RBX+3]符号解释为:控制量子比特的ID存储在RBX中,并且控制量子比特的ID+3是目标量子比特ID。因此,寻址方案被扩展,使得两个不同的量子比特可以利用单个指令(即,CNOT)来寻址。相比之下,在经典计算中,每个指令只对一个存储器位置进行寻址。
图8还示出了码字触发脉冲生成器(CTPG)402A,该码字触发脉冲生成器(CTPG)402A包括控制逻辑和模数转换器,其用于解释码字/命令分组606以识别一个或多个量子比特(在示例中为Q3),并且生成脉冲序列以实现指定的量子操作。当已经执行了如由程序代码205C指定的所有量子操作时,量子操作电路系统801和QIG 802生成码字/命令分组606,使得一个或多个MDU 403A-403B对一个或多个量子比特(如由生成量子比特索引的QIG 802指定的)进行测量。如所提到的,MDU包括模拟到数字电路系统,以将模拟测量转换为数字值,然后由量子纠错单元808处理该数字值以检测并潜在地校正误差。如果已经接收到有效的结果数据,则可以将该结果数据存储在共享寄存器321中的一个或多个共享寄存器321中和/或与先前的测量数据一起累积。除了纠错之外,测量还可以用于基于测量反馈的程序流控制。
量子纠错单元808可以实现用于检测和校正量子误差的各种技术。例如,在一个实施例中,(在QEC单元808内的)误差解码器对来自量子处理器207的多量子比特测量进行解码,以确定是否已经产生了误差,并且如果已经产生了误差,则实施校正措施(是可能的)。可以以不干扰量子比特的编码状态中的量子信息的方式(例如,使用附属量子比特)对多个量子比特进行误差测量。作为响应,QEC单元808生成误差校验子数据(error syndromedata),根据该误差校验子数据可以识别已经产生的误差并实施校正操作。在一个实施例中,误差校验子数据包括稳定子码(stabilizer code),例如,表面码(surface code)。在一些情况下,响应可能只是重新初始化qbit并重新开始。然而,在其他情况下,可以对在量子程序代码205C中实现的量子算法进行修改,以使负责误差的量子处理器的区域(例如,其中编译器205B包括即时(JIT)编译器)稳定。在任一情况下,CTPG 402A在由QEFU 204E生成的码字/命令分组606的控制下执行底层物理操作。例如,CTPG 402A可以生成电磁脉冲,以根据检测到的相位误差调整一个或多个qbit的相位,或者如果要求重新初始化,则重置所有qbit的相位/自旋。
以类似于经典CPU的地址存储器提供未来量子处理器实现方式所要求的可扩展性特性/属性的方式对量子比特进行寻址。特别地,上述实施例提供无缝集成在现有处理器ISA内并扩展到大量量子比特系统的量子比特索引。这些实施例还通过对x86或其他架构的量子扩展的方式来移除来自量子指令操作码空间的压力,以对量子比特空间进行寻址并且将量子操作集成到现有处理器管线。
根据本发明一个实施例的方法如图9所示。该方法可以在上述架构上实现,但不限于任何特定处理器或系统架构。
在901处,来自运行时程序代码的量子指令和非量子指令被取得和解码,从而生成量子uop和非量子uop。在902处,索引生成单元评估量子uop以确定量子比特索引值,该量子uop包括寄存器标识符和可选地与uop一起包括的一个或多个值。如上所述,可以使用各种技术来生成索引,这些技术包括从由uop识别的寄存器读取量子比特索引值,以及使用与uop一起包括的整数值来生成附加的量子比特索引值。
在903处,量子执行电路系统生成码字,该码字指定要对由计算出的量子比特索引值识别的量子比特执行的量子操作。在904处,对指定的量子比特执行量子操作。在905处,响应于基于附加uop生成的另一码字而执行量子比特测量。在906处,对量子比特中的一个或多个量子比特进行的模拟测量被转换为数字值。然后可以基于存储在处理器的寄存器文件中的所得到的数字结果值来执行纠错和/或流控制。
图10示出了具有误差检测和校正的典型量子计算机布置。所示示例包括量子计算机运行时1001(例如,以QASM程序代码实现),该量子计算机运行时1001由量子执行单元1002的量子执行管线1005执行。通过示例而非限制的方式,量子执行单元1002可以是专用集成电路ASIC、通用处理器或用于执行量子指令的可编程功能单元。
响应于量子程序代码的执行,量子执行管线1005将命令传输到量子比特驱动控制器1010,该量子比特驱动控制器1010在量子芯片1020上执行物理量子操作。取决于实现方式,这可以通过用于操纵量子芯片1020的量子比特Q0-Q15的RF脉冲序列来完成。
在已经完成全部或一定数量的程序操作之后,测量单元1015读取/估计量子比特Q0-Q15中的一个或多个量子比特的量子态,并且将测量结果提供给解码/纠错单元1016,该解码/纠错单元1016使用纠错解码技术对测量进行解码。例如,解码/纠错单元1016对来自量子处理器1020的多量子比特测量进行解码,以确定是否已经产生了误差,并且如果已经产生了误差,则实施校正措施(如果可能的话)。可以以不干扰量子比特的编码状态中的量子信息的方式(例如,使用附属量子比特)对多个量子比特进行误差测量。作为响应,可以生成误差校验子数据,根据该误差校验子数据可以识别误差和校正操作。在一个实施例中,误差校验子数据包括稳定子码,例如,表面码。在一些情况下,响应可能只是重新初始化qbitQ0-Q15并重新开始。然而,在其他情况下,可以在量子程序代码1001中实现对量子算法的修改。
根据量子运行时1001,将经解码/校正的结果提供给量子执行单元1002以供进一步处理。当前量子计算机设计的典型操作流是基于由测量单元1015进行的每个测量以及由量子执行管线1005执行的每个量子操作的固定周期时间的。
图11示出了可以由本文描述的架构实现的量子纠错周期的一个实施例。在1101处,对系统的逻辑量子比特状态进行初始化。例如,如果使用电子自旋作为量子态,则可以准备量子系统内的电子(例如,使用来自量子控制器的电磁控制信号而被初始化到特定自旋定向和/或纠缠)。
在1102处,量子系统的状态响应于由量子运行时1001指定并由量子控制器1010实现的附加电磁输入而演进。例如,包括附属量子比特的量子比特的不同集合可以根据量子运行时1001被纠缠和操纵。
在1103处,对量子系统进行测量。例如,可以测量纠缠电子中的一个的当前自旋。系统随后可以在下一次测量之前被重新初始化(即,假定进行测量或学习关于量子系统的任何信息会破坏量子态)。可以在每个纠错周期期间周期性地测量物理量子比特。
在1104处,对测量结果执行误差检测/分类以确定是否已经产生了误差。误差周期在1105处以使用指定的代码集的纠错操作完成,该纠错操作试图校正任何检测到的误差。
经由融合和分解门来减少在分布式量子系统中的误差
扩展量子计算机将要求量子模块之间的通信。如本文所使用的,术语“模块”指代核心、小芯片、管芯、封装、系统或其他不同的量子比特集合。即使在10年内,这种对扩展的要求也可能是真实的,因为即使是近期的量子计算机也可能由多个互连的硅量子点“小芯片”、离子阱、超导体阵列或任何其他类型的互连硬件组成。
然而,考虑到模块间操作比模块内操作更容易出现误差,这种模块间通信可能导致保真度较低的量子计算。此外,更多的通信导致更多的空闲时间,这增加了量子比特状态之间的退相干(decoherence)。
目前,对这个问题只有部分解决方案,其主要集中在使用不同的优化算法对量子比特索引进行重新排序。然而,这些技术并没有对量子门序列本身执行修改。因此,减少通信相关误差的可能路径是有限的。
为了解决这些限制,下面描述的本发明的实施例包括通过减少所要求的模块间通信的量来减少量子误差的各种技术。特别地,这些实施例在量子计算编译器中实现“融合和分解”操作,其中许多量子门被“融合”为一个大的“酉”操作,并且被分解为不同的门序列,这减少了总的算法误差和/或减少了诸如优化和同步之类的经典算法步骤的复杂度。正如所讨论的,这些技术可以扩展到大量的量子模块。
参见图12A-图12B,近期和中期量子计算将要求量子模块1201-1206之间的通信,该量子模块1201-1206可以是小芯片、核心或任何其他不同的量子比特集合。图12A示出了经由通信互连1210连接以形成较大量子系统1200的多个量子模块1201-1206。图12B示出了在第一量子模块1251与第二量子模块1252之间的门级互连的示例。在该特定示例中,量子模块1251-1252包括用于说明目的的单量子比特U门。然而,应当注意,本发明的基本原理可以在具有各种其他量子比特门类型的模块上实现。
图13A-图13B和图14A-图14D示出了本文描述的融合和分解技术的概述。如图13A所示,识别出的连续门序列在模块1301的边界附近并且在不多于X个量子比特上操作,其中X是预先定义的阈值。接下来,酉生成逻辑1310将门序列组合成一个大的酉矩阵1302。
参考图13B,分解逻辑1310然后将该酉1302分解为多个替代门序列1320。可以针对每个分解生成精确的门序列(例如,1321),或者可以使用近似的门序列,如下文关于图14A-图14B所描述的。
在下面的示例中,融合和分解技术是在示例二维网格拓扑上实现的,强调了融合和分解如何在多模块设备上以并行的方式扩展。
图14A中示出了四个模块1401-1404,每个模块具有多个量子比特1410。目标是通过减少跨越模块间线1440的门来减少模块1401-1404之间的通信。
如图14B所示,第一操作序列(子例程1)使量子门四处移动,使得量子门避免跨越模块间线1440和集群线1450两者。特别地,对于时钟周期集合,执行交换序列,该交换序列使跨越这些线的门的数量最小化。使用集群线1450以便将门聚集在一起。较少的门跨越集群线1450确保了尽可能多的门可以用于融合-分解操作。
这些操作可能是可选的,但可以允许在一行中融合更多的时钟周期。使该交换序列的确定在多个量子比特和多个时钟周期上并行化是非常容易的。
参考图15,第二操作序列(子例程2)包括两个嵌套步骤。首先,分区生成逻辑1550识别量子比特的多个分区(例如,1510、1511)。每个分区应不大于X个量子比特,其中X是预先确定的数量(例如,4、6、8等)。其次,对于这些分区1510、1511中的每一个,融合和分解逻辑1560-1561执行上文关于图13A-图13B描述的融合和分解操作。可以在多个时钟周期上执行融合和分解操作。然后,选择逻辑(未示出)选择具有最低代价函数(cost function)Cmin的分解结果。
本发明的实施例可以使用各种不同的代价函数。例如,代价函数可以是以下各项中的一项或多项的函数:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及新电路的近似仿真。下面提供了附加示例。图16A是在多模块情况下本发明的一个实施例的粗粒度示意图。优化操作在子例程1(SR1)和子例程2(SR2)之间交替进行,其中子例程1是优化的交换序列(参见例如图14B和相关联文本)。时钟周期由标记为τi的正方形表示。图16B提供了在时钟周期1和时钟周期2期间量子门的位置的示例。子例程2是对分区以及融合和分解操作的选择的并行化分析,该分区以及融合和分解操作是在任意数量的时钟周期Ri(出于图示目的示出了R1和R2时钟周期)的第i个“时段”上执行的。最终的代价函数是在所有时段上的Cmin之和。在一些实现方式中,可以通过改变时段Ri来进一步优化序列。
由于可以对许多参数和超参数执行优化,因此这些技术可能变得任意便宜或昂贵。例如,在一些情况下,用户可能选择只搜索分解的小集合。此外,我们注意到,即使为了量子误差的适度减少,大量的编译代价通常也是值得的。
本发明的实施例还可以在内部应用于模块。例如,本文描述的融合和分解技术可以用于减小任意量子电路的深度或误差,即使量子设备包括单个量子模块。
此外,本发明的实施例适用于近期量子计算硬件和长期量子计算硬件两者。对于近期多模块硬件,这里描述的实施例可以用于减少通信以用于改进保真度的目的。相反,在长期中,这些技术的主要焦点可能会改变为减少量子仿真时间,包括针对量子子例程和经典子例程两者减少量子仿真时间(其中经典子例程包括编译步骤和执行同步)。在长期纠错硬件的情况下,代价函数将主要考虑总仿真时间的减少。
根据本发明一个实施例的方法如图17所示。该方法可以在下面描述的架构上实现,但不限于任何特定的量子处理架构。
在1701处,量子模块的集合被互连。如所提到的,量子模块中的每一个量子模块可以是单个量子处理器,例如,小芯片或多芯片模块。在1702处,执行交换操作序列以使边界相邻门最小化(例如,以减少模块间通信的量),在1703处,选择要在其上融合门的量子比特的集合。例如,可以选择N个量子比特的集合(例如,其中,N=4、6、8等)。在1704处,门在量子比特的每个集合上融合,并且在1705处,分解为多个替代门序列。
在1706处,将代价函数应用于替代门序列中的每一个。然后选择具有最小代价函数的门序列。
以下是代价函数的说明性示例。然而,请注意,本发明的基本原理不限于任何特定的代价函数或代价函数集。
示例代价函数1:具有精确分解的快速准则。
τdecoh——量子比特退相干时间
εinter——芯片到芯片2q门的误差
εintra——芯片内2q门的误差
ΔMinter——芯片到芯片2q门的数量的改变
ΔMintra——芯片内2q门的数量的改变
ΔS——由于电路深度增加引起的执行时间改变
ΔR——由于通信增加而导致的执行时间改变
示例代价函数2:具有近似分解的快速准则。
τdecoh——量子比特退相干时间
εinter——芯片到芯片2q门的误差
εintra——芯片内2q门的误差
ΔMinter——芯片到芯片2q门的数量的改变
ΔMintra——芯片内2q门的数量的改变
ΔS——由于电路深度增加引起的执行时间改变
ΔR——由于通信增加而导致的执行时间改变
|·|=矩阵范数
示例代价函数3:张量网络准则。该实现方式同样适用于精确分解和近似分解方法。
1、构造了三个N量子比特张量网络用于:(a)无噪声电路ΨNF,(b)原始噪声电路Ψorig和(c)候选近似电路Ψcand,i。通过引入“噪声门”和/或“误差门”来包括退相干和易出错门。
2、初始状态是任意的——该初始状态可以被选择为等叠加、似然输入子空间的密度矩阵、或其他用户定义的选择。
3、为了计算代价函数而对网络进行收缩
Ci=|<ΨNForig>|-|<ΨNFcand,i>|。
为了加快计算,中间奇异值分解(SVD)可以用于较不精确的张量网络计算。本领域的普通技术人员(例如,量子计算领域的理论家)将容易理解这种方法。
上述技术也适用于任何任意硬件类型,包括但不限于相同的硅晶圆上的量子点阵列(通信类型:芯片上互连);不同冰箱(fridge)中的超导芯片(通信类型:光子互连);以及不同阱中的离子阱量子比特阵列(通信类型:光子互连)。
在上面的详细描述中,参考了形成其一部分的附图,并且其中通过说明的方式示出了可以实践的实施例。应当理解,在不脱离本公开的范围的情况下,可以使用其他实施例,并且可以进行结构或逻辑改变。因此,下面的详细描述不应被理解为具有限制意义。
可以以最有助于理解所要求保护的主题的方式依次将各种操作描述为多个离散动作或操作。然而,描述的次序不应被解释为暗示这些操作必然依赖于次序。特别地,这些操作可以不按照呈现的次序执行。所描述的操作可以按照与所描述的实施例不同的次序执行。可以执行各种附加操作,和/或在附加实施例中可以省略所描述的操作。除非另有说明,否则如“第一”、“第二”、“第三”等的术语并不暗示特定的次序。
示例
以下是本发明不同实施例的示例实现方式。
示例1、一种方法,包括:组合一组量子门以形成至少一个酉运算;将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例2、根据示例1所述的方法,其中,所述一组量子门包括跨越多个互连的量子模块的多个量子门的第一子集。
示例3、根据示例2所述的方法,还包括:将所述多个量子门分区为包括所述第一子集的量子门的多个子集;组合每个子集中的量子门以形成单独的酉运算;将所述酉运算中的每个酉运算分解为多个替代门序列;以及基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例4、根据示例3所述的方法,其中,评估还包括:将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及选择与所述代价值中的最小代价值相关联的门序列的组合。
示例5、根据示例1所述的方法,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
示例6、根据示例3所述的方法,还包括:识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
示例7、根据示例6所述的方法,其中,识别还包括:将所述一组量子门移动到所述第一模块内的不同位置以识别布置,所述布置使与第二模块中的量子门的互连的数量最小化或减少所述互连的数量。
示例8、根据示例7所述的方法,其中,所述第一模块和所述第二模块包括量子处理器,所述量子处理器中的每个量子处理器包括多个量子比特。
示例9、根据示例7所述的方法,其中,所述第一模块和所述第二模块中的每一个包括:硅晶圆上的量子点阵列;不同冰箱中的超导芯片;和/或不同阱中的离子阱量子比特阵列。
示例10、根据示例1所述的方法,其中,所述一组量子门被包括在单个量子模块中。
示例11、一种装置,包括:量子模块,所述量子模块包括多个量子比特;酉生成逻辑,所述酉生成逻辑用于组合一组量子门以形成至少一个酉运算;分解逻辑,所述分解逻辑用于将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及选择逻辑,所述选择逻辑用于基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例12、根据示例11所述的装置,其中,所述量子模块包括多个互连的量子模块中的一个量子模块,并且其中,所述一组量子门包括多个量子门的第一子集,所述多个量子门的第一子集中的至少一些量子门跨越所述互连的量子模块。
示例13、根据示例12所述的装置,还包括:分区逻辑,所述分区逻辑用于将所述多个量子门分区为包括所述第一子集的量子门的多个子集;其中,酉逻辑用于组合每个子集中的量子门以形成单独的酉运算,其中,所述分解逻辑用于将所述酉运算中的每个酉运算分解为多个替代门序列;以及其中,所述选择逻辑用于基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例14、根据示例13所述的装置,还包括:代价求和逻辑,所述代价求和逻辑用于将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及其中,所述选择逻辑用于选择与所述代价值中的最小代价值相关联的门序列的组合。
示例15、根据示例11所述的装置,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
示例16、根据示例13所述的装置,其中,所述分区逻辑用于识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
示例17、根据示例16所述的装置,其中,为了识别所述第一模块内的所述一组量子门,所述分区逻辑用于将所述一组量子门移动到所述第一模块内的不同位置以识别布置,所述布置使与第二模块中的量子门的互连的数量最小化或减少所述互连的数量。
示例18、根据示例17所述的装置,其中,所述第一模块和所述第二模块包括量子处理器,所述量子处理器中的每个量子处理器包括多个量子比特。
示例19、根据示例17所述的装置,其中,所述第一模块和所述第二模块中的每一个包括:硅晶圆上的量子点阵列;不同冰箱中的超导芯片;和/或不同阱中的离子阱量子比特阵列。
示例20、一种其上存储有程序代码的机器可读介质,所述程序代码在由量子比特控制器执行时,导致以下操作:组合一组量子门以形成至少一个酉运算;将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例21、根据示例20所述的机器可读介质,其中,所述一组量子门包括跨越多个互连的量子模块的多个量子门的第一子集。
示例22、根据示例21所述的机器可读介质,还包括程序代码以使得机器执行以下操作:将所述多个量子门分区为包括所述第一子集的量子门的多个子集;组合每个子集中的量子门以形成单独的酉运算;将所述酉运算中的每个酉运算分解为多个替代门序列;以及基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
示例23、根据示例22所述的机器可读介质,其中,评估还包括:将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及选择与所述代价值中的最小代价值相关联的门序列的组合。
示例24、根据示例20所述的机器可读介质,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
示例25、根据示例22所述的机器可读介质,还包括:识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
示例26、根据示例25所述的机器可读介质,其中,识别还包括:将所述一组量子门移动到所述第一模块内的不同位置以识别布置,所述布置使与第二模块中的量子门的互连的数量最小化或减少所述互连的数量。
示例27、根据示例26所述的机器可读介质,其中,所述第一模块和所述第二模块包括量子处理器,所述量子处理器中的每个量子处理器包括多个量子比特。
示例28、根据示例26所述的机器可读介质,其中,所述第一模块和所述第二模块中的每一个包括:硅晶圆上的量子点阵列;不同冰箱中的超导芯片;和/或不同阱中的离子阱量子比特阵列。
示例29、根据示例20所述的机器可读介质,其中,所述一组量子门被包括在单个量子模块中。
出于本公开的目的,短语“A和/或B”是指(A),(B),或(A和B)。出于本公开的目的,短语“A,B,和/或C”是指(A),(B),(C),(A和B),(A和C),(B和C),或(A,B,和C)。当关于测量范围使用时,术语“之间”包括测量范围的两端。如本文所使用的,记法“A/B/C”是指(A),(B),和/或(C)。
本说明书使用短语“在实施例中”或“在多个实施例中”,这些短语可以各自指代相同或不同实施例中的一个或多个。此外,关于本公开的实施例使用的术语“包括”、“包含”、“具有”等是同义的。
本发明的实施例可以包括上面已经描述的各种步骤。这些步骤可以体现在可以用于使通用或专用处理器执行这些步骤的机器可执行指令中。可替代地,这些步骤可以由包含用于执行步骤的硬连线逻辑的特定硬件组件执行,或者由编程计算机组件和定制硬件组件的任何组合执行。
如本文所述,指令可以指代被配置为执行特定操作或具有预定功能的硬件的特定配置(例如,专用集成电路(ASIC))或者存储在体现在非暂时性计算机可读介质中的存储器中的软件指令。因此,可以使用在一个或多个电子设备(例如,终端站、网络元件等)上存储和执行的代码和数据来实现图中所示的技术。这种电子设备使用计算机机器可读介质存储和通信(在内部通信和/或通过网络与其他电子设备通信)代码和数据,该计算机机器可读介质例如非暂时性计算机机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪速存储器设备;相变存储器)和暂时性计算机机器可读通信介质(例如,电、光、声或其他形式的传播信号——例如,载波、红外信号、数字信号等)。
此外,这种电子设备典型地包括耦合到一个或多个其他组件(例如,一个或多个存储设备(非暂时性机器可读存储介质)、用户输入/输出设备(例如,键盘、触摸屏和/或显示器)和网络连接)的一个或多个处理器的集合。处理器的集合和其他组件的耦合典型地通过一个或多个总线和桥(也称为总线控制器)。存储设备和携带网络业务的信号分别表示一个或多个机器可读存储介质和机器可读通信介质。因此,给定电子设备的存储设备典型地存储用于在该电子设备的一个或多个处理器的集合上执行的代码和/或数据。当然,本发明实施例的一个或多个部分可以使用软件、固件和/或硬件的不同组合来实现。在整个详细描述中,出于解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,对本领域技术人员来说显而易见的是,本发明可以在没有这些具体细节中的一些细节的情况下实践。在特定实例中,为了避免模糊本发明的主题,没有详细描述公知的结构和功能。因此,本发明的范围和精神应该根据所附权利要求书来判断。

Claims (25)

1.一种方法,包括:
组合一组量子门以形成至少一个酉运算;
将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及
基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
2.根据权利要求1所述的方法,其中,所述一组量子门包括跨越多个互连的量子模块的多个量子门的第一子集。
3.根据权利要求2所述的方法,还包括:
将所述多个量子门分区为包括所述第一子集的量子门的多个子集;
组合每个子集中的量子门以形成单独的酉运算;
将所述酉运算中的每个酉运算分解为多个替代门序列;以及
基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
4.根据权利要求3所述的方法,其中,评估还包括:
将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及
选择与所述代价值中的最小代价值相关联的门序列的组合。
5.根据权利要求1至4中任一项所述的方法,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
6.根据权利要求3至5中任一项所述的方法,还包括:
识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
7.根据权利要求6所述的方法,其中,识别还包括:
将所述一组量子门移动到所述第一模块内的不同位置以识别布置,所述布置使与第二模块中的量子门的互连的数量最小化或减少所述互连的数量。
8.根据权利要求7所述的方法,其中,所述第一模块和所述第二模块包括量子处理器,所述量子处理器中的每个量子处理器包括多个量子比特。
9.根据权利要求7所述的方法,其中,所述第一模块和所述第二模块中的每一个包括:硅晶圆上的量子点阵列;不同冰箱中的超导芯片;和/或不同阱中的离子阱量子比特阵列。
10.根据权利要求1至9中任一项所述的方法,其中,所述一组量子门被包括在单个量子模块中。
11.一种装置,包括:
量子模块,所述量子模块包括多个量子比特;
酉生成逻辑,所述酉生成逻辑用于组合一组量子门以形成至少一个酉运算;
分解逻辑,所述分解逻辑用于将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及
选择逻辑,所述选择逻辑用于基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
12.根据权利要求11所述的装置,其中,所述量子模块包括多个互连的量子模块中的一个量子模块,并且其中,所述一组量子门包括多个量子门的第一子集,所述多个量子门的第一子集中的至少一些量子门跨越所述互连的量子模块。
13.根据权利要求12所述的装置,还包括:
分区逻辑,所述分区逻辑用于将所述多个量子门分区为包括所述第一子集的量子门的多个子集;
其中,酉逻辑用于组合每个子集中的量子门以形成单独的酉运算,
其中,所述分解逻辑用于将所述酉运算中的每个酉运算分解为多个替代门序列;以及
其中,所述选择逻辑用于基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
14.根据权利要求13所述的装置,还包括:
代价求和逻辑,所述代价求和逻辑用于将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及
其中,所述选择逻辑用于选择与所述代价值中的最小代价值相关联的门序列的组合。
15.根据权利要求11至14中任一项所述的装置,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
16.根据权利要求13至15中任一项所述的装置,其中,所述分区逻辑用于识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
17.根据权利要求16所述的装置,其中,为了识别所述第一模块内的所述一组量子门,所述分区逻辑用于将所述一组量子门移动到所述第一模块内的不同位置以识别布置,所述布置使与第二模块中的量子门的互连的数量最小化或减少所述互连的数量。
18.根据权利要求17所述的装置,其中,所述第一模块和所述第二模块包括量子处理器,所述量子处理器中的每个量子处理器包括多个量子比特。
19.根据权利要求17所述的装置,其中,所述第一模块和所述第二模块中的每一个包括:硅晶圆上的量子点阵列;不同冰箱中的超导芯片;和/或不同阱中的离子阱量子比特阵列。
20.一种其上存储有程序代码的机器可读介质,所述程序代码在由量子比特控制器执行时,导致以下操作:
组合一组量子门以形成至少一个酉运算;
将所述酉运算分解为多个替代门序列,所述多个替代门序列包括精确门序列或者近似门序列;以及
基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
21.根据权利要求20所述的机器可读介质,其中,所述一组量子门包括跨越多个互连的量子模块的多个量子门的第一子集。
22.根据权利要求21所述的机器可读介质,还包括程序代码以使得机器执行以下操作:
将所述多个量子门分区为包括所述第一子集的量子门的多个子集;
组合每个子集中的量子门以形成单独的酉运算;
将所述酉运算中的每个酉运算分解为多个替代门序列;以及
基于代价函数来评估所述多个替代门序列以识别所述门序列中的至少一个门序列。
23.根据权利要求22所述的机器可读介质,其中,评估还包括:
将根据所述多个替代门序列中的每个替代门序列确定的代价函数值相加,以生成多个代价值,其中,所述多个替代门序列是从所述酉运算中的每个酉运算分解的;以及
选择与所述代价值中的最小代价值相关联的门序列的组合。
24.根据权利要求20至23中任一项所述的机器可读介质,其中,所述代价函数基于以下各项中的一个或多个:退相干时间、执行时间的改变、局部2-量子比特门误差、模块间2-量子比特门误差、局部门计数的改变、模块间门计数的改变以及电路的近似仿真。
25.根据权利要求22至24中任一项所述的机器可读介质,还包括:
识别第一模块内用于形成所述酉运算的所述一组量子门,所述识别包括识别所述第一模块内的连续门序列,所述连续门序列位于所述第一模块的边界的指定接近度内,并且在不超过X个量子比特上操作,其中,X是预先定义的阈值。
CN202280045171.9A 2021-12-09 2022-11-10 用于经由融合和分解门来减少分布式量子系统中的误差的装置和方法 Pending CN117561522A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/546,974 US11954563B2 (en) 2021-12-09 2021-12-09 Apparatus and method for error reduction in distributed quantum systems via fusing-and-decomposing gates
US17/546,974 2021-12-09
PCT/US2022/049633 WO2023107240A1 (en) 2021-12-09 2022-11-10 Apparatus and method for error reduction in distributed quantum systems via fusing-and-decomposing gates

Publications (1)

Publication Number Publication Date
CN117561522A true CN117561522A (zh) 2024-02-13

Family

ID=86694468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280045171.9A Pending CN117561522A (zh) 2021-12-09 2022-11-10 用于经由融合和分解门来减少分布式量子系统中的误差的装置和方法

Country Status (5)

Country Link
US (1) US11954563B2 (zh)
EP (1) EP4445304A1 (zh)
CN (1) CN117561522A (zh)
TW (1) TW202324221A (zh)
WO (1) WO2023107240A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521831B (zh) * 2024-01-04 2024-03-29 合肥微观纪元数字科技有限公司 基于图形处理器的量子误差自动化校准方法及相关设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514415B2 (en) 2013-03-15 2016-12-06 Microsoft Technology Licensing, Llc Method and system for decomposing single-qubit quantum circuits into a discrete basis
EP3746954B1 (en) 2018-01-31 2023-09-06 Google LLC Universal control for implementing quantum gates
US11367010B2 (en) * 2018-05-02 2022-06-21 IonQ, Inc. Quantum computer simulator characterization
US11157667B2 (en) 2018-12-06 2021-10-26 International Business Machines Corporation Gate fusion for measure in quantum computing simulation
EP3929827A1 (en) * 2020-06-26 2021-12-29 Bull SAS Computer computing compiling method and system with partial synthetization of quantum computer compliant quantum circuits
US20220092460A1 (en) * 2020-09-23 2022-03-24 International Business Machines Corporation Quantum error mitigation using hardware-friendly probabilistic error correction

Also Published As

Publication number Publication date
EP4445304A1 (en) 2024-10-16
WO2023107240A1 (en) 2023-06-15
US20230186139A1 (en) 2023-06-15
WO2023107240A9 (en) 2024-02-29
TW202324221A (zh) 2023-06-16
US11954563B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
EP3836038A1 (en) Apparatus and method for specifying quantum operation parallelism for a quantum control processor
US20230162075A1 (en) Apparatus and method for scalable qubit addressing
US20190042970A1 (en) Apparatus and method for a hybrid classical-quantum processor
US20190042973A1 (en) Apparatus and method for arbitrary qubit rotation
US20190042972A1 (en) Apparatus and method for injected spin echo in a quantum processor
EP4020333A1 (en) System and method for automatic real-time calibration of qubit chips
US20200242208A1 (en) Apparatus and method for quantum performance and/or error correction enhancement using multi-qubit gates
US20190042264A1 (en) Apparatus and method for single chip quantum control stack
CN112926741A (zh) 用于容错量子计算机的并行流设备和方法
US11907808B2 (en) Apparatus and method for quantum error correction without measurement or active feedback
US11513552B2 (en) Apparatus and method for dynamically adjusting quantum computer clock frequency with a locking pulse
US11599818B2 (en) Apparatus and method including scalable representations of arbitrary quantum computing rotations
US20230244459A1 (en) Hybrid compilation apparatus and method for quantum-classical code sequences
CN117561522A (zh) 用于经由融合和分解门来减少分布式量子系统中的误差的装置和方法
WO2022271251A1 (en) Apparatus and method for coherent error mitigation using clifford gate injection
CN114358296A (zh) 用于量子计算系统中相位校正的装置和方法
US20240354613A1 (en) Method and apparatus for loading classical data into quantum computers
US20240193451A1 (en) Optimized integrated circuit for quantum compilation and execution
Fu et al. QuPAA: Exploiting Parallel and Adaptive Architecture to Scale up Quantum Computing
Metodi et al. Case Study: The Quantum Logic Array Architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication