CN115796293A - 量子电路运行方法、装置、设备、存储介质及程序产品 - Google Patents
量子电路运行方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115796293A CN115796293A CN202211505991.XA CN202211505991A CN115796293A CN 115796293 A CN115796293 A CN 115796293A CN 202211505991 A CN202211505991 A CN 202211505991A CN 115796293 A CN115796293 A CN 115796293A
- Authority
- CN
- China
- Prior art keywords
- quantum
- instruction
- quantum circuit
- circuit diagram
- executed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000010586 diagram Methods 0.000 claims abstract description 143
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 21
- 239000003795 chemical substances by application Substances 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000013515 script Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 101150026173 ARG2 gene Proteins 0.000 description 3
- 101100005166 Hypocrea virens cpa1 gene Proteins 0.000 description 3
- 101100379634 Xenopus laevis arg2-b gene Proteins 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000004429 Calibre Substances 0.000 description 1
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 1
- 101150088826 arg1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本公开提供了一种量子电路运行方法、装置、设备、存储介质及程序产品,涉及量子门、量子电路图、指令封装等技术领域。该方案包括:获取用户发起的指示由量子设备执行的待执行指令;响应于待执行指令被确定为特殊指令,将获取到的特殊指令下发给量子设备,特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引;控制量子设备从特殊指令中提取出目标索引;控制量子设备按与目标索引对应的目标量子电路图运行相应的量子电路。应用该方案不仅可以省去携带有量子电路图的普通指令在被量子设备执行前的一系列处理环节,还可以避免因转换为不同的等效电路而导致运行结果不对应相同电路的差异。
Description
技术领域
本公开涉及量子电路技术领域,具体涉及量子门、量子电路图、指令封装等技术领域,尤其涉及一种量子电路运行方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
眼下随着量子设备计算能力的不断提高,越来越多的量子电路所描述的算法可以被量子设备执行。
通常,量子电路的规模可以通过电路的宽度和深度来刻画,在以Shor算法(舒尔算法,是求解一个可分解的正奇数N的素数质因子的量子算法)为例,实用化的相关算法深度已经达到数百万深度以及数万量子比特的宽度。这个级别的量子电路刻画通常可以达到数百甚至上千MB(兆)大小,而此类电路的容错性极小,这对经典网络和通讯提出了极高的要求。而NISQ(Noisy Intermediate-Scale Quantum,带噪中型量子计算)时代的来临,带来了以VQE算法(Variational-Quantum-Eigensolver,变分量子特征值求解算法,用于计算分子的基态能量)等为代表的变分量子算法,其算法的实现中,带着相关噪声进行多轮多次计算,其特征是通过带反复调用同一个电路模型,通过改变电路中的参数来进行计算并收敛到有意义的最终值。
变分算法的广泛使用,不仅对电路规模存在数据数量的挑战,还对整个量子系统延迟提出了更进一步的要求。在量子云计算中,每次通讯需要跨越用户端、服务端、处理模块等,而这类反复调用的模块会极大的占用网络通讯,使得整个算法通讯时间和处理时间大幅加长,占比增高,量子计算带来的收益降低。
变分算法电路任务提交后,相较于小规模电路,需要用户等待较长时间后才能返回结果。除了设备本身运行时长增加外,在最终任务完成前,将相同模型的中大规模电路不经封装地反复展示出来也并没有实用的意义。这些中大规模电路往往只有参数不同,且依次依赖。
因此,如何克服上述现有技术存在的技术缺陷,是本领域技术人员亟待解决的问题。
发明内容
本公开实施例提出了一种量子电路运行方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种量子电路运行方法,包括:获取用户发起的指示由量子设备执行的待执行指令;响应于待执行指令被确定为特殊指令,将获取到的特殊指令下发给量子设备;其中,特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引,量子电路图由不同的量子门构建得到;控制量子设备从特殊指令中提取出目标索引;控制量子设备按与目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
第二方面,本公开实施例提出了一种量子电路运行装置,包括:待执行指令获取单元,被配置成获取用户发起的指示由量子设备执行的待执行指令;特殊指令下发单元,被配置成响应于待执行指令被确定为特殊指令,将获取到的特殊指令下发给量子设备;其中,特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引,量子电路图由不同的量子门构建得到;目标索引控制提取单元,被配置成控制量子设备从特殊指令中提取出目标索引;目标量子电路控制运行单元,被配置成控制量子设备按与目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面描述的量子电路运行方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面描述的量子电路运行方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面描述的量子电路运行方法的步骤。
本公开所提供的量子电路运行方案,通过预先记录不同索引与不同量子电路图之间的对应关系,使得用户可向服务器端发起不包含量子电路图的特殊指令,并在服务器端识别到属于特殊指令时,允许将不包含量子电路图的特殊指令直接转发给量子设备,以使量子设备可直接按照特殊指令中携带的目标索引确定需要自身执行的目标电路图,不仅省去了携带量子电路图的普通指令在到达量子设备之前的一系列处理环节,还得以避免每次将其转换为不同的等效电路使得运行结果不对应同一量子电路的差异问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种量子电路运行方法的流程图;
图3为本公开实施例提供的一种判别特殊指令和普通指令的方法的流程图;
图4为本公开实施例提供的一种通过查表确定目标量子电路图的方法的流程图;
图5为本公开实施例提供的一种对特殊指令是否为连续测试指令提供的两种不同处理分支的流程图;
图6为本公开实施例提供的一种量子电路运行装置的结构框图;
图7为本公开实施例提供的一种适用于执行量子电路运行方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的量子电路运行方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,服务器104和量子设备105。网络用以在终端设备101、102、103和服务器104之间以及服务器104与量子设备105之间提供通信链路的介质,可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络与服务器104进行信息交互,以接收运行结果或发送待执行指令等,服务器104也可以进一步将接收自终端设备101、102、103的待指令执行下发给量子设备105来具体执行,或接收量子设备105返回的运行结果。终端设备101、102、103、服务器104和量子设备105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如指令下发类应用、指令处理类应用、量子电路运行类应用等。
终端设备101、102、103、服务器104和量子设备105通常表现为不同形态的硬件,在某些仿真或虚拟场景下也可以表现为软件或软件产物。当终端设备101、102、103表现为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器104为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
服务器104通过内置的各种应用可以提供各种服务,以可以提供特殊指令处理服务的指令处理类应用为例,服务器104在运行该指令处理类应用时可实现如下效果:首先,通过网络接收用户通过终端设备101、102、103传入的指示由量子设备105执行的待执行指令;然后,在判断该待执行指令为特殊指令时,将获取到的特殊指令下发给量子设备105;接下来,控制量子设备105从该特殊指令中提取出目标索引;最后,控制量子设备105按与该目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
因此本公开后续各实施例所提供的量子电路运行方法一般架设在量子设备105前方的服务器104来执行,相应地,量子电路运行装置一般也设置于服务器104中。
应该理解,图1中的终端设备、服务器和量子设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、服务器和量子设备。
请参考图2,图2为本公开实施例提供的一种量子电路运行方法的流程图,其中流程200包括以下步骤:
步骤201:获取用户发起的指示由量子设备执行的待执行指令;
本步骤旨在由量子电路运行方法的执行主体(例如图1所示的服务器104)获取到用户发起的指示由量子设备执行的待执行指令。
其中,待执行指令的发起通常由用户使用其个人终端设备实现,例如智能手机、平板电脑、笔记本电脑等。
步骤202:响应于待执行指令被确定为特殊指令,将获取到的特殊指令下发给量子设备;
在步骤201的基础上,本步骤旨在由上述执行主体确定接收到的待执行指令为特殊指令时,不对接收到的特殊指令进行处理,而直接将该特殊指令下发给量子设备,即由量子设备来处理该特殊指令。
需要说明的是,本公开所提及的“特殊指令”用于区别普通指令,下述将通过一个具体的例子来描述普通指令的处理流程:
假定有位用户想要测试一个量子算法,他需要将描述算法所用的大规模电路在量子设备上反复运行多次,并记录、比对实验结果。依照现有技术,用户可以发起包含其所要测试的量子电路图的普通(测试)指令,以期接收到该测试请求的服务器和量子设备能够通过运行多次进而得到实验数据。
常规方案下,包含有待测量子电路图的普通指令需要首先经过服务器对其进行编译、传输以及基于实际量子设备的电路接口设计所进行的符合其电路接口设计的等效电路的转换,最终再将转换得到的等效电路下发给量子设备进行执行,得到一次的测试结果。
可以发现基于常规普通指令的处理方式进行测试会带来两个问题:
首先,得到的实验数据可能并不准确。因为在任务提交后经由模块处理时,由于模块中算法具有一定随机性,尤其对大规模电路,很可能每次提交处理后得到的结果,都是实验电路的若干等效电路中的一种,这样就无法保证实验中设备始终执行相同电路,如果用户在进行例如算法保真度的实验,那么这种方式会对实验造成很大干扰;
其次,以现有方法进行实验时,增加了不必要的时间成本,这主要包括任务提交后的预处理,传输中电路数据的反复读写和模块调用与电路转换等操作造成的。用户每次提交都需要等待较长时间才能得到结果,当用户反复提交时,让实验效率极大降低。
为尽可能的克服上述现有技术存在的技术缺陷,本公开预先定义了一种区别于普通指令的特殊指令,即此类特殊指令不再需要携带量子电路图信息来用于告知量子设备应执行何种量子电路,但相对的,设计该特殊指令应携带有用于指代目标量子电路图的目标索引,即该目标索引仅用于作为目标量子电路图的代号,所占用数据量极小,从而实现对指令数据量的精简。
在此基础上,只需要后续量子设备能够根据该目标索引确定出用户所想要执行的目标量子电路图,即可避免常规的由服务器端所根据普通指令包含的量子电路图执行的一系列操作,从而规避因每次电路转换所得到的不同等效电路所带来的结果不对应相同电路的差异问题。
特殊指令除无需包含量子电路图、需要携带目标索引外,只需要能够让上述执行主体将其识别为区别与普通指令的其它指令即可,例如预先设定该特殊指令中需要包含绝对不会出现在普通指令中的特定字符或特定字符串,或者新增某个用于识别特殊指令的字段等,此处不做具体限定。
另外,至于如何识别待执行指令是否包含有量子电路图,则可以通过多种方式来实现,例如在最简单的量子电路图的数据量也明显超出包含索引在内的其它信息的数据量时,可以通过待执行指令的数据量大小来进行判别,也可以通过查询待指令执行的特定负载部分是否为空,以及指令头部分是否有用于记录携带有量子电路图的相关字段信息等,可根据实际情况灵活选择合适的判别方式,此处不做具体限定。
步骤203:控制量子设备从特殊指令中提取出目标索引;
步骤204:控制量子设备按与目标索引对应的目标量子电路图运行相应的量子电路。
在步骤202的基础上,步骤203和步骤204则旨在由量子设备先从接收到的特使指令中提取出所携带的目标索引,再根据预先记录有的不同索引与不同量子电路图之间的对应关系,确定与目标索引对应的目标量子电路图,最终运行与该目标量子电路图对应的量子电路即可。
本公开实施例提供的量子电路运行方法,通过预先记录不同索引与不同量子电路图之间的对应关系,使得用户可向服务器端发起不包含量子电路图的特殊指令,并在服务器端识别到属于特殊指令时,允许将不包含量子电路图的特殊指令直接转发给量子设备,以使量子设备可直接按照特殊指令中携带的目标索引确定需要自身执行的目标电路图,不仅省去了携带量子电路图的普通指令在到达量子设备之前的一系列处理环节,还得以避免每次将其转换为不同的等效电路使得运行结果不对应同一量子电路的差异问题。
为了加深对具体如何判别待执行指令为特殊指令还是普通指令的理解,本实施例还通过图3示出了一种具体的判别方法,即主要基于待执行指令的数据量大小来确定其是否包含有量子电路图,也就是建立在最简单的量子电路图的数据量也明显超出包含索引在内的其它信息的数据量的情况下,其流程300包括以下步骤:
步骤301:确定待执行指令的数据量;
本步骤旨在由上述执行主体确定待执行指令的数据量。
步骤302:响应于数据量小于预设数据量,确定待执行指令不包含量子电路图;
本步骤旨在由上述执行主体在确认该执行指令的数据量小于预设数据量时,确定待执行指令不包含量子电路图,为实现这一目的,该预设数据量为用于记录最简单的量子电路图所需的数据量。
步骤303:将未包含量子电路图、但包含有预设的特殊字符串的待执行指令,确定为特殊指令;
在步骤302已经基于数据量确认该待执行指令不包含量子电路图的情况下,本步骤旨在将为包含量子电路图且包含有预设的特殊字符串的待执行指令,确定为特殊指令。即该特殊字符串用于作为识别一个指令是否属于特殊指令的一个识别标识,该特定字符串可以根据实际情况自定设定,例如可以设定成一个完全不会出现普通指令的字符串,以避免识别错误。
步骤304:将非特殊指令的待执行指令,确定为普通指令;
在步骤303的基础上,本步骤旨在由上述执行主体将所有非特殊指令的待执行指令,都确定为普通指令。即所有不包含特殊字符串的待执行指令都确定为普通指令,所有包含有量子电路图的待执行指令,都确定为普通指令。
步骤305:响应于数据量大于预设数据量,确定待执行指令包含量子电路图;
本步骤旨在由上述执行主体在确认该执行指令的数据量大于该预设数据量时,确定该待执行指令包含有量子电路图的部分信息。
步骤306:将包含有量子电路图的待执行指令,确定为普通指令。
在步骤305的基础上,本步骤旨在由上述执行主体将包含有量子电路图的待执行指令,确定为普通指令。
本实施例通过步骤301-步骤306,提供了一种基于数据量判别待执行指令中是否包含量子电路图的方案,以及基于是否包含量子电路和是否包含特殊字符串来判别是否属于特殊指令的方案,简单易行。
在上述任意实施例的基础上,为了更便于确定与目标索引对应的目标量子图,还可以预先根据不同索引与不同量子电路图之间的对应关系,生成对应关系表,从而控制量子设备以查询对应关系表的方式确定与目标索引对应的目标量子电路图,最终控制量子设备按目标量子电路图运行相应的量子电路。即通过查表的方式来提升查询效率。
为了进一步的提升查询效率,本公开还通过图4提供了另外一种确定目标量子电路图的实现方式,其流程400包括如下步骤:
步骤401:预先根据不同索引与不同量子电路图之间的对应关系,生成对应关系表;
步骤402:将对应关系表上传至量子设备关联的本地存储器进行存储;
在步骤401的基础上,本步骤旨在由上述执行主体将对应关系表上传至量子设备关联的本地存储器进行本地化存储。
步骤403:控制量子设备访问存储在本地存储器中的对应关系表,并以查表的方式确定与目标索引对应的目标量子电路图;
在步骤402的基础上,本步骤旨在控制量子设备访问存储在与其关联的本地存储器中的对应关系表,并以查表的方式确定与目标索引对应的目标量子电路图。
步骤404:控制量子设备按目标量子电路图运行相应的量子电路。
本实施例通过步骤402将所形成的对应关系表上传至量子设备关联的本地存储器进行本地化存储,以便于量子设备可直接从该本地存储器中调用该对应关系表进行查表,以尽可能的减少因量子设备要求服务器进行查表或量子设备从其它网络存储空间访问该对应关系表所带来的耗时。
在上述任意实施例的基础上,针对某些有特定重复执行次数的要求,该特殊指令中还可以由用户增加运行次数信息,进而在量子设备发现该特殊指令中记录有运行次数信息使,直接按与目标索引对应的目标量子电路图重复运行相应的量子电路至数量与运行次数信息一致,而无需像普通指令一样,即使要求重复运行多次,也需要每次运行都重新走一遍编译、预处理、转换的操作,进而使得多次重复运行可能是基于不同的等效电路进行的。
在上述任意实施例的基础上,考虑到有些特殊指令所要求进行的是包含多环量子计算电路的连续测试,有些特殊指令则仅要求进行单环量子计算电路的测试,因此根据要求的不同可以采用不同的后续处理方式,图5示出了一种针对不同需求提供不同的处理方式的两分支示意图,其流程500包括如下步骤:
步骤501:判断特殊指令是否为连续测试指令,若是,执行步骤502,否则执行步骤505;
其中,如一个特殊指令包含有至少两环量子计算电路,那么其将被确定为连续测试指令,反之,即一个特殊仅包含有单环量子计算电路,那么其将被确定为非连续测试指令。
步骤502:控制量子设备将与非最终量子计算电路的计算结果存储在预设的结果暂存区域;
步骤503:控制量子设备在运行下一环量子计算电路时从结果暂存区域中获取上一环量子计算电路的计算结果作为计算的依赖数据;
步骤504:接收量子设备返回的最终环量子计算电路的最终计算结果,并将最终计算结果返回至发起特殊指令的用户端;
即本步骤502-步骤504是针对特殊指令被判别为连续测试指令的情况,提供了一套后续处理方案,即对于应按照时序依次运行的多环量子计算电路,量子设备会将所有非最终环的量子计算电路的计算结果都存储在关联的结果暂存区域,以便于在进行下一环量子计算电路时可将上一环量子计算电路的计算结果作为开启本环量子计算电路计算的依赖数据使用,并使得量子设备仅将最终环量子计算电路的最终计算结果返回给上述执行主体,以使上述执行主体将最终计算结果返回至发起特殊指令的用户端,即通过该方式可以最大程度上减少量子设备与服务器端的通信交互次数、减少服务器端与用户端的通信交互次数,从而所选整体的运行测试耗时,提升效率。
步骤505:接收量子设备返回的单环量子计算电路的单环计算结果;
步骤506:将单环计算结果返回至发起特殊指令的用户端。
即本步骤505-步骤506是针对特殊指令被判别为非连续测试指令的情况,提供了一套后续处理方案,即对于单环量子计算电路的单环计算结果,可由量子设备在得到后直接返回给上述执行主体,以便由上述执行主体将单环计算结果返回至发起特殊指令的用户端。
需要说明的是,图5所示上述步骤中包含的两个处理分支,完全可以各自单独形成不同的实施例,本实施例仅作为同时包含有上述两个处理分支的优选实施例存在,并不约束在采用其中一个处理分支时,其另一处理分支一定要表现为当前附图所示的方案,也可以替换为其它可行的类似方案。
为加深对整个方案的理解,本公开还通过下述实施例,为常用的量子算法电路,提供了一种全新的实现方式供用户选择,即通过构造和使用特殊指令来更加全面地覆盖用户和研发人员的需求和多元的应用场景。
为表述方便先介绍几个概念:
用户端:包括SDK(Software Development Kit,软件开发工具包)、Web(网页)和手机APP(Application的缩写,应用程序),主要用于电路任务构造和提交;
服务器端:提供云服务,用于管理整个平台,提供电路的预处理、后处理、调度等功能;
设备端:包括量子设备和与量子设备配套的代理(QPU Agent),用于接收、计算服务器端下发的任务,并负责将结果返回服务器端。
电路传输通道:指的是将量子电路图从用户端经由服务器端发送到设备端,再将运行结果从设备端经过服务器端返回用户端的这一过程。用户首先在用户端编写并且提交在模拟器或量子设备上运行的量子电路图。服务器端接收到任务后,会把任务下发到用户指定的后端来执行。在经过预处理后,对于模拟器任务,服务器端会直接调用部署在上面的相关模拟器来执行。对于量子设备任务,服务器端会先调用指定设备的专用模块,再把经过模块处理的任务下发到对应的设备端。接着由与量子设备配套的代理来拉取任务。代理收到任务后会将要执行的电路转换为符合设备接口要求的电路。由于不同来源的设备都有自己的电路接口设计,所以不同设备的代理用来将电路转换的算法也都有所不同。代理将合规的转换后电路提交给量子设备后,等待量子设备运行结束并将运行结果返回。最后由代理将结果数据处理后返回给服务器端,再由服务器端将结果返回给用户端。
以上就是电路任务提交后走的电路传输通道,可以看到:任务始终带着完整电路信息在用户端、服务器端与设备端之间反复传递。在现有技术实现方案中,每当运行特定电路脚本时,都要走以上流程,包括预处理,相关模块调用,设备端代理中的电路转换等。在这些操作中,电路会被多次扫描。而且每次运行都要被多次扫描,不仅极大的降低了使用效率,还会因为转换得到不同的等效电路带来结果的差异问题。
为克服上述问题,本公开提出了特殊指令通道这一概念,用于区别上述常规的电路传输通道,可以简单理解为:电路传输通路是用于传输量子电路图的通道,而特使指令指令则仅用于传输指示运行哪个量子电路图的特殊指令的通道。即通过给出指令到电路的操作列表,将电路信息替代为特殊指令。
特殊指令通道的实现分为四个部分:
特殊指令对象:在用户端构造特殊指令对象(RemoteJob)。创建时RemoteJob(arg1,arg2,arg3...)至少需要一个参数,通过这个参数来声明所要执行的算法的函数名或操作名,可以默认它为RemoteJob的第一个参数arg1。之后还可以往RemoteJob中加入任意多个参数,将从第二个参数开始的arg2,arg3...依次作为第一个参数指向的脚本中的函数或操作的第1到第n个参数。该类中有两个主要方法,一个是用来指定量子设备作为目标执行的backend(后端)方法,另一个是向服务器端提交的commit(指示)方法。它们的存在让特殊指令能够独立于一般电路任务,作为单独一类任务向服务器端提交。另外,在这两个方法中规定了特殊指令任务只能用于量子设备上执行。
特殊指令通道的接口设计:特殊指令通道的接口用于用户端和设备端与服务器端之间的连接。接口由服务器端提供,用户端和设备端依照服务器端给出的接口设计来读写任务。为了区别于常规电路任务,特殊指令通道的接口会多加一个专用字段(isRemoteJob:bool)来声明当前任务的类型为特殊指令。
设备端电路脚本部署:不同于现有技术将电路脚本部署在用户端。在特殊指令的实现中,电路脚本被直接部署在设备端,并且可以直接用于量子设备执行。因此脚本中的电路不是平台所支持的电路,而是适用于量子设备的电路,并且需要对电路做进一步处理。除了电路本身需要符合量子设备提供的接口设计外,部署的电路还要符合设备在电路运行上的限制,其中包括,电路需要由设备支持的原生门构成,电路中的双比特量子门作用的每一对量子比特都符合芯片耦合限制等。脚本中的电路不需要依照设备接口进行重构,也不需要经过设备专用模块处理,从而避免对电路的多次扫描。
特殊指令操作列表:特殊指令与电路脚本是一对一的映射关系,用于定义映射关系的特殊指令操作列表被部署在设备端代理中。当设备端收到特殊指令任务时,会由代理依据收到的指令,即RemoteJob(arg1,arg2,arg3...)创建时用户给出的第一个参数(arg1:函数名或操作名),到列表中找到对应的电路脚本或设备操作命令,并由代理使用系统命令的方式来运行。
有了以上实现后,可跟随一个特殊指令任务来了解完整流程:
假设用户要使用特殊指令运行一个电路,在用户端,用户创建特殊指令任务,规定用于运行的量子设备,并根据想要实验的算法电路给出对应函数名和参数,例如,RemoteJob(‘shor’,15,7,5,2)。用户将该特殊指令任务提交并发送到服务器端后,服务器端会根据任务中的特定字段(isRemoteJob)来判断收到的是常规电路任务还是特殊指令任务。如果是特殊指令任务,则允许任务不携带电路信息只携带指令字段通过接口。在特殊指令任务到达服务器端后,不会对任务进行预处理和模块调用。任务会直接放入指定设备的任务队列,并等待设备端拉取。当设备端拉取到队列中的任务后,同样通过任务中的特殊指令字段判断是常规电路任务还是特殊指令任务。对于特殊指令任务,设备端代理会根据指令中的电路号来运行对应的电路脚本。由于部署在设备端的都是符合量子设备接口的电路脚本,可以避免在代理上进行电路转换的步骤。代理只需要依据操作列表找到与‘shor’命令对应的脚本,例如通过输入Python指令:Shor’sAlgorithm.py,即可运行脚本($python-uShor’sAlgorithm.py 15 7 5 2),进而提交相应任务给量子设备(此种方式使用Python解释器直接运行脚本,属于进程外执行,但同时也可以允许代理导入该脚本在进程内执行)。等待设备返回结果后,代理再将结果进行处理和封装。由于是特殊指令任务,在返回服务器端的任务日志中,依然可以使用函数名和参数替代完整电路信息。最终再由服务器端将结果返回给用户端。
以上就是特殊指令任务提交后的传输通道。可以看到在整个流程中,都避免了对电路的传输。并且避免了设备专用模块调用和在设备代理上的电路转换。
假设用户使用特殊指令来要求量子设备进行校准或冷却。我们可以通过和上述相同的方式将代表指令的字段,例如,RemoteJob(‘calibrate’),RemoteJob(‘cooling’),发送到设备端代理。依据特殊指令操作列表,设备端代理会通过命令行的方式要求设备执行校准或冷却的操作。最后将设备是否成功执行的信息作为结果返回。
另外,如果选择用特殊指令通道对目标量子电路图对应的量子算法进行实验,由于当用户提交特殊指令任务后,特殊指令不经过模块处理直接到达设备端代理,然后由代理根据指令运行脚本。整个过程中都不需要对电路调用模块,从而保证实验中设备运行的始终是同一个电路,从而避免了转换得到不同等效电路造成的差异问题。另外,由于特殊指令通道省去对模块的调用,在运行时间上也得到极大的优化。原本庞大的电路信息替换为几个字节的函数名(操作名)和参数后,将在传输上更加高效。
进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种量子电路运行装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的量子电路运行装置600可以包括:待执行指令获取单元601、特殊指令下发单元602、目标索引控制提取单元603、目标量子电路控制运行单元604。其中,待执行指令获取单元601,被配置成获取用户发起的指示由量子设备执行的待执行指令;特殊指令下发单元602,被配置成响应于待执行指令被确定为特殊指令,将获取到的特殊指令下发给量子设备;其中,特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引,量子电路图由不同的量子门构建得到;目标索引控制提取单元603,被配置成控制量子设备从特殊指令中提取出目标索引;目标量子电路控制运行单元604,被配置成控制量子设备按与目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
在本实施例中,量子电路运行装置600中:待执行指令获取单元601、特殊指令下发单元602、目标索引控制提取单元603、目标量子电路控制运行单元604的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:
特殊指令确定单元,被配置成将未包含量子电路图、但包含有预设的特殊字符串的待执行指令,确定为特殊指令;
普通指令确定单元,被配置成将非特殊指令的待执行指令,确定为普通指令。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:被配置成确定待执行指令是否包含量子电路图的量子电路图包含确认单元,量子电路包含确认单元可以被进一步配置成:
确定待执行指令的数据量;
响应于数据量小于预设数据量,确定待执行指令不包含量子电路图;其中,预设数据量为用于记录最简单的量子电路图所需的数据量;
响应于数据量大于预设数据量,确定待执行指令包含量子电路图。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:
对应关系表生成单元,被配置成预先根据不同索引与不同量子电路图之间的对应关系,生成对应关系表;
对应的,目标量子电路控制运行单元604可以包括:
查询确认子单元,被配置成控制量子设备以查询对应关系表的方式确定与目标索引对应的目标量子电路图;
运行子单元,被配置成控制量子设备按目标量子电路图运行相应的量子电路。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:
本地存储单元,被配置成将对应关系表上传至量子设备关联的本地存储器进行存储;
对应的,查询确认子单元被进一步配置成:
控制量子设备访问存储在本地存储器中的对应关系表,并以查表的方式确定与目标索引对应的目标量子电路图。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:
连续测试指令处理单元,被配置成响应于特殊指令为包含至少两环量子计算电路的连续测试指令,控制量子设备将与非最终环量子计算电路的计算结果存储在预设的结果暂存区域,以及控制量子设备在运行下一环量子计算电路时从结果暂存区域中获取上一环量子计算电路的结果作为计算的依赖数据;
最终结果接收及返回单元,被配置成接收量子设备返回的最终环量子计算电路的最终计算结果,并将最终计算结果返回至发起特殊指令的用户端。
在本实施例的一些可选的实现方式中,量子电路运行装置600中还可以包括:
非连续测试指令处理单元,被配置成响应于特殊指令为仅包含单环量子计算电路的非连续测试指令,接收量子设备返回的单环量子计算电路的单环计算结果,并将单环计算结果返回至发起特殊指令的用户端。
在本实施例的一些可选的实现方式中,目标量子电路控制运行单元604可以被进一步配置成:
响应于特殊指令中记录有运行次数信息,控制量子设备按与目标索引对应的目标量子电路图重复运行相应的量子电路至数量与运行次数信息一致。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的量子电路运行装置,通过预先记录不同索引与不同量子电路图之间的对应关系,使得用户可向服务器端发起不包含量子电路图的特殊指令,并在服务器端识别到属于特殊指令时,允许将不包含量子电路图的特殊指令直接转发给量子设备,以使量子设备可直接按照特殊指令中携带的目标索引确定需要自身执行的目标电路图,不仅省去了携带量子电路图的普通指令在到达量子设备之前的一系列处理环节,还得以避免每次将其转换为不同的等效电路使得运行结果不对应同一量子电路的差异问题。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的量子电路运行方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的量子电路运行方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的量子电路运行方法。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如量子电路运行方法。例如,在一些实施例中,量子电路运行方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的量子电路运行方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子电路运行方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
根据本公开实施例的技术方案,通过预先记录不同索引与不同量子电路图之间的对应关系,使得用户可向服务器端发起不包含量子电路图的特殊指令,并在服务器端识别到属于特殊指令时,允许将不包含量子电路图的特殊指令直接转发给量子设备,以使量子设备可直接按照特殊指令中携带的目标索引确定需要自身执行的目标电路图,不仅省去了携带量子电路图的普通指令在到达量子设备之前的一系列处理环节,还得以避免每次将其转换为不同的等效电路使得运行结果不对应同一量子电路的差异问题。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种量子电路运行方法,包括:
获取用户发起的指示由量子设备执行的待执行指令;
响应于所述待执行指令被确定为特殊指令,将获取到的特殊指令下发给所述量子设备;其中,所述特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引,所述量子电路图由不同的量子门构建得到;
控制所述量子设备从所述特殊指令中提取出所述目标索引;
控制所述量子设备按与所述目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
2.根据权利要求1所述的方法,还包括:
将未包含所述量子电路图、但包含有预设的特殊字符串的待执行指令,确定为所述特殊指令;
将非所述特殊指令的待执行指令,确定为普通指令。
3.根据权利要求2所述的方法,还包括:确定所述待执行指令是否包含量子电路图,所述确定所述待执行指令是否包含量子电路图,包括:
确定所述待执行指令的数据量;
响应于所述数据量小于预设数据量,确定所述待执行指令不包含量子电路图;其中,所述预设数据量为用于记录最简单的量子电路图所需的数据量;
响应于所述数据量大于所述预设数据量,确定所述待执行指令包含量子电路图。
4.根据权利要求1所述的方法,还包括:
预先根据不同索引与不同量子电路图之间的对应关系,生成对应关系表;
对应的,所述控制所述量子设备按与所述目标索引对应的目标量子电路图运行相应的量子电路,包括:
控制所述量子设备以查询所述对应关系表的方式确定与所述目标索引对应的目标量子电路图;
控制所述量子设备按所述目标量子电路图运行相应的量子电路。
5.根据权利要求4所述的方法,还包括:
将所述对应关系表上传至所述量子设备关联的本地存储器进行存储;
对应的,所述控制所述量子设备以查询所述对应关系表的方式确定与所述目标索引对应的目标量子电路图,包括:
控制所述量子设备访问存储在所述本地存储器中的对应关系表,并以查表的方式确定与所述目标索引对应的目标量子电路图。
6.根据权利要求1所述的方法,还包括:
响应于所述特殊指令为包含至少两环量子计算电路的连续测试指令,控制所述量子设备将与非最终环量子计算电路的计算结果存储在预设的结果暂存区域,以及控制所述量子设备在运行下一环量子计算电路时从所述结果暂存区域中获取上一环量子计算电路的计算结果作为计算的依赖数据;
接收所述量子设备返回的最终环量子计算电路的最终计算结果,并将所述最终计算结果返回至发起所述特殊指令的用户端。
7.根据权利要求1所述的方法,还包括:
响应于所述特殊指令为仅包含单环量子计算电路的非连续测试指令,接收所述量子设备返回的单环量子计算电路的单环计算结果,并将所述单环计算结果返回至发起所述特殊指令的用户端。
8.根据权利要求1-7任一项所述的方法,其中,所述控制所述量子设备按与所述目标索引对应的目标量子电路图运行相应的量子电路,包括:
响应于所述特殊指令中记录有运行次数信息,控制所述量子设备按与所述目标索引对应的目标量子电路图重复运行相应的量子电路至数量与所述运行次数信息一致。
9.一种量子电路运行装置,包括:
待执行指令获取单元,被配置成获取用户发起的指示由量子设备执行的待执行指令;
特殊指令下发单元,被配置成响应于所述待执行指令被确定为特殊指令,将获取到的特殊指令下发给所述量子设备;其中,所述特殊指令不包含有量子电路图、但包含有用于指代目标量子电路图的目标索引,所述量子电路图由不同的量子门构建得到;
目标索引控制提取单元,被配置成控制所述量子设备从所述特殊指令中提取出所述目标索引;
目标量子电路控制运行单元,被配置成控制所述量子设备按与所述目标索引对应的目标量子电路图运行相应的量子电路;其中,预先记录有不同索引与不同量子电路图之间的对应关系。
10.根据权利要求9所述的装置,还包括:
特殊指令确定单元,被配置成将未包含所述量子电路图、但包含有预设的特殊字符串的待执行指令,确定为所述特殊指令;
普通指令确定单元,被配置成将非所述特殊指令的待执行指令,确定为普通指令。
11.根据权利要求10所述的装置,还包括:被配置成确定所述待执行指令是否包含量子电路图的量子电路图包含确认单元,所述量子电路包含确认单元被进一步配置成:
确定所述待执行指令的数据量;
响应于所述数据量小于预设数据量,确定所述待执行指令不包含量子电路图;其中,所述预设数据量为用于记录最简单的量子电路图所需的数据量;
响应于所述数据量大于所述预设数据量,确定所述待执行指令包含量子电路图。
12.根据权利要求9所述的装置,还包括:
对应关系表生成单元,被配置成预先根据不同索引与不同量子电路图之间的对应关系,生成对应关系表;
对应的,所述目标量子电路控制运行单元包括:
查询确认子单元,被配置成控制所述量子设备以查询所述对应关系表的方式确定与所述目标索引对应的目标量子电路图;
运行子单元,被配置成控制所述量子设备按所述目标量子电路图运行相应的量子电路。
13.根据权利要求12所述的装置,还包括:
本地存储单元,被配置成将所述对应关系表上传至所述量子设备关联的本地存储器进行存储;
对应的,所述查询确认子单元被进一步配置成:
控制所述量子设备访问存储在所述本地存储器中的对应关系表,并以查表的方式确定与所述目标索引对应的目标量子电路图。
14.根据权利要求9所述的装置,还包括:
连续测试指令处理单元,被配置成响应于所述特殊指令为包含至少两环量子计算电路的连续测试指令,控制所述量子设备将与非最终环量子计算电路的计算结果存储在预设的结果暂存区域,以及控制所述量子设备在运行下一环量子计算电路时从所述结果暂存区域中获取上一环量子计算电路的计算结果作为计算的依赖数据;
最终结果接收及返回单元,被配置成接收所述量子设备返回的最终环量子计算电路的最终计算结果,并将所述最终计算结果返回至发起所述特殊指令的用户端。
15.根据权利要求9所述的装置,还包括:
非连续测试指令处理单元,被配置成响应于所述特殊指令为仅包含单环量子计算电路的非连续测试指令,接收所述量子设备返回的单环量子计算电路的单环计算结果,并将所述单环计算结果返回至发起所述特殊指令的用户端。
16.根据权利要求9-15任一项所述的装置,其中,所述目标量子电路控制运行单元被进一步配置成:
响应于所述特殊指令中记录有运行次数信息,控制所述量子设备按与所述目标索引对应的目标量子电路图重复运行相应的量子电路至数量与所述运行次数信息一致。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的量子电路运行方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的量子电路运行方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-8中任一项所述量子电路运行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211505991.XA CN115796293B (zh) | 2022-11-28 | 2022-11-28 | 量子电路运行方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211505991.XA CN115796293B (zh) | 2022-11-28 | 2022-11-28 | 量子电路运行方法、装置、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115796293A true CN115796293A (zh) | 2023-03-14 |
CN115796293B CN115796293B (zh) | 2024-07-05 |
Family
ID=85442618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211505991.XA Active CN115796293B (zh) | 2022-11-28 | 2022-11-28 | 量子电路运行方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796293B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218787A1 (en) * | 2019-01-03 | 2020-07-09 | International Business Machines Corporation | Avoiding data exchange in gate operation for quantum computing gates on a chip |
CN113906450A (zh) * | 2019-10-11 | 2022-01-07 | 华为技术有限公司 | 量子电路模拟 |
CN114969443A (zh) * | 2022-05-18 | 2022-08-30 | 深圳量旋科技有限公司 | 量子计算可视化调试方法、系统、计算机设备及存储介质 |
CN115169568A (zh) * | 2022-07-20 | 2022-10-11 | 北京百度网讯科技有限公司 | 量子计算处理方法、装置及电子设备 |
-
2022
- 2022-11-28 CN CN202211505991.XA patent/CN115796293B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218787A1 (en) * | 2019-01-03 | 2020-07-09 | International Business Machines Corporation | Avoiding data exchange in gate operation for quantum computing gates on a chip |
CN113906450A (zh) * | 2019-10-11 | 2022-01-07 | 华为技术有限公司 | 量子电路模拟 |
CN114969443A (zh) * | 2022-05-18 | 2022-08-30 | 深圳量旋科技有限公司 | 量子计算可视化调试方法、系统、计算机设备及存储介质 |
CN115169568A (zh) * | 2022-07-20 | 2022-10-11 | 北京百度网讯科技有限公司 | 量子计算处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
夏帅;徐宇嘉;丁郁文;余霖;周扬;朱蔚;陈赛;李志强;: "基于SVG的在线量子电路设计平台的研究与实现", 电脑知识与技术, no. 36, 25 December 2016 (2016-12-25) * |
Also Published As
Publication number | Publication date |
---|---|
CN115796293B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4016398A1 (en) | Apparatus and method for distributed training model, and computer program product | |
US20240144570A1 (en) | Method for generating drivable 3d character, electronic device and storage medium | |
KR102561951B1 (ko) | 모델링 매개 변수의 설정 방법, 장치, 전자 기기 및 기록 매체 | |
CN111291882A (zh) | 一种模型转换的方法、装置、设备和计算机存储介质 | |
CN114820279B (zh) | 基于多gpu的分布式深度学习方法、装置及电子设备 | |
US20230144949A1 (en) | Virtual-machine cold migration method and apparatus, electronic device and storage medium | |
US20230140997A1 (en) | Method and Apparatus for Selecting Sample Corpus Used to Optimize Translation Model | |
CN113127357A (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
CN115690443A (zh) | 特征提取模型训练方法、图像分类方法及相关装置 | |
KR102686643B1 (ko) | 애플릿 페이지 렌더링 방법, 장치, 전자 설비 및 저장 매체 | |
CN111582476B (zh) | 自动量化策略搜索方法、装置、设备以及存储介质 | |
CN117520195A (zh) | 测试接口的方法、装置、设备、存储介质及程序产品 | |
CN113033373A (zh) | 用于训练人脸识别模型及识别人脸的方法及相关装置 | |
CN111767149A (zh) | 调度方法、装置、设备及存储设备 | |
CN115796293B (zh) | 量子电路运行方法、装置、设备、存储介质及程序产品 | |
CN113408304B (zh) | 文本翻译方法、装置、电子设备及存储介质 | |
CN113691403B (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN115115062A (zh) | 机器学习模型建立方法、相关装置及计算机程序产品 | |
CN114238611A (zh) | 用于输出信息的方法、装置、设备以及存储介质 | |
CN111937366A (zh) | Web请求处理方法和装置 | |
CN115964277A (zh) | 测试方法、装置、电子设备及存储介质 | |
EP4047907A1 (en) | Method and apparatus for reporting asynchronous data, and storage medium | |
CN117149605A (zh) | 一种测试用例的生成方法和装置 | |
CN114679468A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |