CN115204406A - 一种量子计算模拟方法、量子电路模拟器及相关设备 - Google Patents
一种量子计算模拟方法、量子电路模拟器及相关设备 Download PDFInfo
- Publication number
- CN115204406A CN115204406A CN202210603909.0A CN202210603909A CN115204406A CN 115204406 A CN115204406 A CN 115204406A CN 202210603909 A CN202210603909 A CN 202210603909A CN 115204406 A CN115204406 A CN 115204406A
- Authority
- CN
- China
- Prior art keywords
- task
- calculation
- identification information
- working
- coordinator
- 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
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
- G06N10/80—Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种量子计算模拟方法、量子电路模拟器及相关设备。所述方法包括:根据工作节点的配置信息,生成量子电路计算任务分拆方案;根据工作节点生成的实例标识信息、工作节点的数量和所述分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务;将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。该方法将任务调度和任务计算分离,可以灵活地进行扩展,且通信开销小,性能更优。
Description
技术领域
本发明涉及量子计算技术领域,特别涉及一种量子计算模拟方法、量子电路模拟器及相关设备。
背景技术
量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式,目前还没有规模化的量子计算硬件,考虑到量子计算的未来优越性,一些科研机构和先进制造公司设计了基于量子计算的算法,为了验证这些算法的正确性,有云平台都推出了自己的量子计算模拟器,从而可以在经典计算机上验证这些算法的正确性。
目前,量子计算模拟器主要是采用基于矩阵计算的实现方案,以及在矩阵计算基础上的并行框架方案,目前已公开的并行框架方案主要是基于MPI的并行框架方案。
发明内容
本申请发明人发现,上述基于矩阵计算的方案,计算时基本都是要计算全幅的量子状态,但是现在很多场景其实只需要计算少数几个幅的量子状态,基于矩阵计算的方案不能针对这种场景做很好的优化;上述基于MPI的并行框架,并行调度会耦合到计算模块,不便于各个模块的拓展。总之,现有技术中并没有计算性能高效、方便扩展的量子电路计算实现方案和相应的量子计算模拟器。
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种量子计算模拟方法、量子电路模拟器及相关设备。
本发明实施例提供一种量子计算模拟方法,包括:
根据工作节点的配置信息,生成量子电路计算任务分拆方案;
根据工作节点生成的实例标识信息、工作节点的数量和所述分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务;
将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。
在一些可选的实施例中,所述根据工作节点的配置信息,生成量子电路计算任务分拆方案,包括:
根据工作节点的内存大小,生成量子电路计算任务分拆方案;或根据工作节点的内存大小和节点数量,生成量子电路计算任务分拆方案;
所述分拆方案包括分拆出的多个计算任务,每个计算任务所需的内存大小与所述工作节点的内存大小相适应。
在一些可选的实施例中,通过配置寻找策略参数和剪枝参数使每个计算任务所需的内存大小与所述工作节点的内存大小相适应,所述剪枝参数包括迭代次数、量子电路压缩路径带宽、剪枝数量和线程数量中的至少一项。
在一些可选的实施例中,根据工作节点生成的实例标识信息、工作节点的数量和所述分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务,包括:
获取工作节点生成的实例标识信息,对所述分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为每个工作节点分配取模运算结果相同的一组计算任务;或
获取工作节点生成的实例标识信息,对所述分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为工作节点分配一个计算任务,基于工作节点的计算任务获取请求重复执行为工作节点分配一个计算任务的步骤,直至取模运算结果相同的一组计算任务均分配给该工作节点为止。
在一些可选的实施例中,还包括:
通过与工作节点之间的心跳连接,确定工作节点状态异常后,将状态异常的工作节点的计算任务分配给新加入的工作节点或分配给计算任务已完成的工作节点。
本发明实施例还提供另一种量子计算模拟方法,包括:
工作节点生成自己的实例标识信息;
所述工作节点根据所述实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务;
所述工作节点对获取的计算任务进行处理得到计算结果,将计算结果提供给协调器。
在一些可选的实施例中,所述工作节点根据所述实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务,包括:
所述工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一组计算任务;或
所述工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一个计算任务,以及向协调器发送计算任务获取请求获取下一个计算任务,直至获取完分配的最后一个计算任务。
在一些可选的实施例中,还包括:
所述工作节点从协调器获取量子电路计算任务分拆方案。
在一些可选的实施例中,所述工作节点和所述协调器中采用相同的计算加速镜像;所述计算加速镜像中包括操作系统镜像、计算库镜像和编译后的计算加速主程序镜像。
本发明实施例还提供一种协调器,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种量子计算模拟方法。
本发明实施例还提供一种工作节点,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述另一种量子计算模拟方法。
本发明实施例还提供一种量子电路模拟器,包括上述的协调器和至少两个上述的工作节点。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的量子计算模拟方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的上述量子计算模拟方法,协调器根据工作节点的配置信息,生成量子电路计算任务分拆方案,并根据工作节点生成的实例标识信息、工作节点的数量和分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务;由协调器生成计算任务拆分方案并进行计算任务的分配调度,通过对计算任务的拆分,将计算任务分配到多个工作节点进行并处理,从而可以实现计算任务的并行调度和计算处理的分离,使得量子计算模拟器可以方便的计算单幅、多幅、全幅的量子状态,方便计算方案的优化和量子计算模拟器的扩展,还可以灵活的配置分配方案,这种多节点共同实现计算任务的并行框架,计算性能高效且具有良好的可扩展性;协调器和工作节点的交互信息量非常小,通信开销也就非常小,性能可以更优。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中量子计算模拟方法的协调器处理流程图;
图2为本发明实施例中量子计算模拟方法的工作节点处理流程图;
图3为本发明实施例中量子计算模拟方法的交互流程图;
图4为本发明实施例中拆分时的配置参数示例图;
图5为本发明实施例中镜像配置的示例图;
图6为本发明实施例中第一量子计算模拟装置的结构示意图;
图7为本发明实施例中第二量子计算模拟装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中没有计算性能高效、方便扩展的量子电路计算实现方案的问题,本发明实施例提供一种量子计算模拟方法,将任务调度和任务计算分离,能够只计算少数几个幅的量子状态,且可以灵活地进行扩展,其通信开销小,性能更优。该方法可以通过量子计算模拟器实现,量子计算模拟器可以在经典计算机上模拟量子计算机的计算,例如,可以通过太章模拟器(acqdp)实现,太章模拟器可以基于张量网络压缩实现量子模拟算法,可用于量子计算模拟器服务。量子计算模拟器可以布置在多个计算节点中,计算节点可以分为两个角色,协调器(Coordinator)和工作节点(Worker),其中Worker可以有多个。
本发明实施例提供一种量子计算模拟方法,在协调器上主要实现任务分拆和调度功能,其流程如图1所示,包括如下步骤:
步骤S101:根据工作节点的配置信息,生成量子电路计算任务分拆方案。
协调器根据工作节点配置信息生成量子电路计算任务分拆方案,量子电路计算任务分拆方案一般是指整个量子电路的压缩路径分割(split)方案,配置信息可以是工作节点的内存大小。可选的,协调器根据工作节点的内存大小,生成量子电路计算任务分拆方案;分拆方案包括分拆出的多个计算任务,每个计算任务所需的内存大小与工作节点的内存大小相适应。可选的,在生成分拆方案时,除了考虑工作节点的内存大小,还可以考虑进一步工作节点的数量,即根据工作节点的内存大小和节点数量,生成量子电路计算任务分拆方案。
步骤S102:根据工作节点的实例标识信息、工作节点的数量和分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务。
协调器将分拆方案中的分拆出的计算任务分配给工作节点进行计算处理,在分配时可以随机分配或者根据预设的规则分配,可选的,可以根据工作节点生成的实例标识信息以及工作节点的数量采用一定的分配算法进行分配。实例标识信息可以是实例标识符,在进行任务分配时,协调器可以与工作节点进行一次信息交互来实现所有计算任务的分配,即每次为工作节点分配一组计算任务;也可以进行多次信息交互来实现所有计算任务的分配,即每次为工作节点分配一个计算任务,多次分配后完成所有计算任务的分配。协调器可以通过任务标识信息来区分分配给不同工作节点的计算任务。
可选的,一次分配一组计算任务的实现过程包括:协调器获取工作节点生成的实例标识信息,对分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为每个工作节点分配取模运算结果相同的一组计算任务。
可选的,每次分配一个计算任务的实现过程包括:协调器获取工作节点生成的实例标识信息,对所述分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为工作节点分配一个计算任务,基于工作节点的计算任务获取请求重复执行为工作节点分配一个计算任务的步骤,直至取模运算结果相同的一组计算任务均分配给该工作节点为止。
步骤S103:将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。
工作节点各自执行计算任务后,将计算结果返回给协调器,协调器对计算结果进行汇总,每个工作节点可以执行一个或多个计算任务,每个计算节点可以计算单幅或多幅的量子状态,便于计算方案的优化;各工作节点并行处理分配的计算任务,便于扩展、灵活性强。协调器可以根据计算任务的任务标识信息对计算任务进行汇总,得到量子电路计算结果。
本发明实施例提供一种量子计算模拟方法,在工作节点上主要实现任务计算功能,其流程如图2所示,包括如下步骤:
步骤S201:工作节点生成自己的实例标识信息。
每个工作节点可以生成自己的实例标识符作为实例标识信息,当然,可选的,也可以是其他的实例标识信息。
步骤S202:工作节点根据实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务。
工作节点获取分配的计算任务时,可以与协调器一次交互,提供实例标识信息后,获取到多个计算任务,即工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一组计算任务。这样工作节点和协调器之间的信息交互量会更小一些。
工作节点获取分配的计算任务时,可以与协调器多次交互,每次拉去一个计算任务,即工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一个计算任务,以及向协调器发送计算任务获取请求获取下一个计算任务,直至获取完分配的最后一个计算任务。多次获取计算任务时,可以周期性的获取,也可以在一个计算任务完成后再获取下一个计算任务,这种方式更有利于在各工作节点之间协调分配计算任务,使各工作节点完成各自计算任务后能够更方便的去协助其他工作节点。
步骤S203:工作节点对获取的计算任务进行处理得到计算结果,将计算结果提供给协调器。
工作节点返回计算结果时,可以携带计算任务的任务标识信息、自己的实例标识信息等,便于协调器获知是哪个计算任务的计算结果。
本发明实施例提供的上述量子计算模拟方法,协调器和工作节点之间交互实现量子计算模拟的流程如图3所示,包括如下步骤:
步骤S301:根据工作节点的配置信息,生成量子电路计算任务分拆方案。
协调器生成分拆方案时,较优的,会使得分拆出的计算任务所需的资源与工作节点的配置资源相适应,保证内存不会溢出,因此会采用一些配置参数来实现生成分拆方案,具体的,可以通过配置寻找策略参数和剪枝参数使每个计算任务所需的内存大小与工作节点的内存大小相适应,剪枝参数包括迭代次数、量子电路压缩路径带宽、剪枝数量和线程数量中的至少一项。计算任务拆分时采用的配置参数的一个示例如图4所示。其中,order_finder_params表示寻找策略参数;slicer_params表示剪枝参数。slicer_params中包括迭代次数(num_inter)、量子电路压缩路径带宽(max_tw)、剪枝数量(max_num_slice)和线程数量(num_threads)等等。
步骤S302:工作节点从协调器获取量子电路计算任务分拆方案。
可选的,协调器生成量子电路计算任务分拆方案后,工作节点可以从协调器获取量子电路计算任务分拆方案。每个工作节点都可以从协调器获取分拆方案,协调器可以根据工作节点的节点标识向工作节点返回分拆方案。这样保证每个工作节点的可以获知分拆方案,且获得的分拆方案都是相同的;例如第i个工作节点Worker_i从Coordinator获取split方案,Coordinator根据Worker_i的节点标识向Worker_i返回split方案。
步骤S303:工作节点生成自己的实例标识信息,根据实例标识信息向协调器请求获取计算任务。
Worker_i生成自己的实例标识符(instance_id),根据instance_id去Coordinator获取任务标识符(Taskid)。可以与协调器一次交互获取一组计算任务,也可以每次交互仅获取一个计算任务,多次交互来获取多个计算任务。
步骤S304:协调器根据工作节点的实例标识信息、工作节点的数量和分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务。
Coordinator会将计算任务分成M个,即任务标识符(task_id)为0、1、2、……、M-1的M个计算任务,根据工作节点的数量可以将这些计算任务分成N份,即第0、1、2、……、N-1份,N是工作节点的数量,通常情况下M≥N,在允许有节点暂时不分配到计算任务的情况下,也可以允许M<N;每一个instance_id会对应分配其中一份,一份计算任务中包括一个或多个计算任务。可以将task_id与工作节点的数量N进行求模计算,根据两者相除的余数,进行任务分配,将余数相同的任务分配给同一个工作节点。即每个工作节点分配的计算任务的task_id为x,其中,x满足xmodN的结果相同。例如,第0个工作节点分配的计算任务的task_id均满足xmodN=0,第1个工作节点分配的计算任务的task_id均满足xmodN=1,以此类推。从而可以确定出每个工作节点的所分配的计算任务的任务标识,并将工作节点的实例标识信息与分配的计算任务的任务标识进行对应。当N个工作节点的实例标识符分别为0、1、2、……、N-1时,可以将任务标识为x的计算任务分配给实例标识符等于xmodN的这个工作节点。mod表示两个数值表达式作除法运算后的余数。
可选的,对于一次交互只获取一个计算任务的情况,也可以采用计算任务的任务标识按顺序依次进行计算任务的分配。
步骤S305:对获取的计算任务进行处理得到计算结果,将计算结果提供给协调器。
每个工作节点会将自己的计算结果同步到协调器,例如Worker_i将计算结果同步回Coordinator。
步骤S306:将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。
上述方法中,协调器和工作节点之间可以建立心跳连接,协调器通过与工作节点之间的心跳连接,确定工作节点状态异常后,将状态异常的工作节点的计算任务分配给新加入的工作节点或分配给计算任务已完成的工作节点。通过心跳连接保证工作节点当掉时,可以将任务分配到其他工作节点去处理,以保证有工作节点异常时计算任务还能正常处理并完成。具体的,可以加入新的工作节点,将当掉的工作节点的计算任务分配给新加入的工作节点,也可以等待其他工作节点完成就算任务后,将当掉的工作节点的计算任务分配给完成计算任务的工作节点。
为了加速每个工作节点的计算,可以引入数学核库(MathKernelLibrary,MKL)来对所有的向量计算进行加速,最终通过引入MKLforNumpy/Scipy,使每个矩阵计算可以进行指令集的并行加速。其中指令集加速是指利用芯片的单指令多数据流(SingleInstruction Multiple Data,SIMD)进行指令的并行加速。工作节点和协调器中可以采用相同的计算加速镜像;计算加速镜像中包括操作系统镜像、计算库镜像和编译后的计算加速主程序镜像。协调器和工作节点中配置计算加速镜像的一个示例如图5所示,Coordinator和Worker中均配置有相同的镜像,镜像的配置可以如图5中左侧虚线圆圈中所示,包括操作系统镜像、计算库镜像(numpy/scipy/acqdp@MKL)、编译后的计算加速主程序镜像(Rust/PyO3编译的主程序/python module)等等,通过这些镜像实现各工作节点的并行加速。
上述方法和相应的量子计算模拟器,是一种实现量子计算的高性能、可扩展性强的并向框架,所谓并向框架是指定义一种任务的分割方案和协调方案,在任意多台机器上完成一个任务的计算。其中包括了多台机器协同作业,并行完成计算任务,并进行汇总后得到计算任务的最终结果。上述在协调器中根据预先设定的参数计算出来任务分拆方案和分配方案,然后工作节点通过远程访问的方式从协调器去拉取计算任务,然后根据协调器的分配方案在当前节点实现计算任务的计算,其计算和任务分配调度分离,可以自定义各种各样的任务调度方案,从而可以具有最大的灵活性和扩展性。在任务分配方案,每个工作节点可以只用跟协调器交互一次,获取工作节点的实例标识符,后续只需确定分配给每个工作节点的任务标识即可,最后将计算结果返回协调器,这样可以最小化coordinator和worker之间的交互开销,使性能更优。
基于同一发明构思,本发明实施例还提供一种量子计算模拟装置,该装置可以设置在协调器中,该装置的结构如图6所示,包括:
分拆方案生成模块11,用于根据工作节点的配置信息,生成量子电路计算任务分拆方案;
任务分配模块12,用于根据工作节点生成的实例标识信息、工作节点的数量和分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务;
汇总模块13,用于将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。
可选的,上述装置还包括异常处理模块14,用于通过与工作节点之间的心跳连接,确定工作节点状态异常后,通知任务分配模块12,相应的,任务分配模块12还用于将状态异常的工作节点的计算任务分配给新加入的工作节点或分配给计算任务已完成的工作节点。
基于同一发明构思,本发明实施例还提供一种量子计算模拟装置,该装置可以设置在工作节点中,该装置的结构如图7所示,包括:
标识生成模块21,用于生成自己的实例标识信息;
任务获取模块22,用于根据实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务;
结果反馈模块23,用于对获取的计算任务进行处理得到计算结果,将计算结果提供给协调器。
本发明实施例还提供一种量子电路模拟器,包括如图6所示的量子计算模拟装置和至少两个如图7所示的量子计算模拟装置。
本发明实施例还提供一种协调器,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的量子计算模拟方法。
本发明实施例还提供一种工作节点,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的量子计算模拟方法。
本发明实施例还提供一种量子电路模拟器,包括上述的协调器和至少两个上述的工作节点。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时上述的量子计算模拟方法。
关于上述实施例中的装置、协调器、工作节点、量子电路模拟器,其执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例的上述方法,是一种计算性能比较高同时具有良好的扩展性的量子计算模拟器的并行框架,可以满足一些需要较大规模量子比特数的计算需求。该方法将计算任务的并行调度和计算任务的计算处理进行分离,计算任务被拆分成一个个的子任务,通过协调器和工作节点的交互实现并行调度,还可以配置不同的分配方案,可以进行灵活的扩展,且协调器和工作节点之间基于实例标识信息和任务标识信息进行计算任务的协调和分配,协调器和工作节点的交互信息量非常小,通信开销也就非常小,性能可以更优。该方法实现高性能的量子模拟计算的同时,能够非常灵活的计算全幅和单幅的量子状态;所采用的并行框架足够高效且非常灵活容易扩展,且可以基于基于太章模拟器,太章模拟器天然地能够很好的计算单幅和多幅、全幅的量子状态。为了实现更高性能的计算,在计算环节可以使用指令加速,特别是在其中的张量压缩中涉及的矩阵计算,可以使用MKL进行并行加速,通过引入MKLforNumpy/Scipy可以进一步加速整个计算过程。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (13)
1.一种量子计算模拟方法,其特征在于,包括:
根据工作节点的配置信息,生成量子电路计算任务分拆方案;
根据工作节点生成的实例标识信息、工作节点的数量和所述分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务;
将各工作节点对计算任务进行处理后返回的计算结果进行汇总,输出量子电路计算结果。
2.如权利要求1所述的方法,其特征在于,所述根据工作节点的配置信息,生成量子电路计算任务分拆方案,包括:
根据工作节点的内存大小,生成量子电路计算任务分拆方案;或根据工作节点的内存大小和节点数量,生成量子电路计算任务分拆方案;
所述分拆方案包括分拆出的多个计算任务,每个计算任务所需的内存大小与所述工作节点的内存大小相适应。
3.如权利要求2所述的方法,其特征在于,通过配置寻找策略参数和剪枝参数使每个计算任务所需的内存大小与所述工作节点的内存大小相适应,所述剪枝参数包括迭代次数、量子电路压缩路径带宽、剪枝数量和线程数量中的至少一项。
4.如权利要求1所述的方法,其特征在于,根据工作节点生成的实例标识信息、工作节点的数量和所述分拆方案包括的计算任务的任务标识信息,为工作节点分配计算任务,包括:
获取工作节点生成的实例标识信息,对所述分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为每个工作节点分配取模运算结果相同的一组计算任务;或
获取工作节点生成的实例标识信息,对所述分拆方案中包括的计算任务的任务标识信息和工作节点的数量进行取模运算,根据取模运算结果确定每个实例标识信息对应的任务标识信息;根据每个实例标识信息对应的任务标识信息为工作节点分配一个计算任务,基于工作节点的计算任务获取请求重复执行为工作节点分配一个计算任务的步骤,直至取模运算结果相同的一组计算任务均分配给该工作节点为止。
5.如权利要求1-4任一所述的方法,其特征在于,还包括:
通过与工作节点之间的心跳连接,确定工作节点状态异常后,将状态异常的工作节点的计算任务分配给新加入的工作节点或分配给计算任务已完成的工作节点。
6.一种量子计算模拟方法,其特征在于,包括:
工作节点生成自己的实例标识信息;
所述工作节点根据所述实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务;
所述工作节点对获取的计算任务进行处理得到计算结果,将计算结果提供给协调器。
7.如权利要求6所述的方法,其特征在于,所述工作节点根据所述实例标识信息,获取协调器分配的量子电路计算任务分拆方案中的计算任务,包括:
所述工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一组计算任务;或
所述工作节点将生成的实例标识信息提供给协调器,接收协调器分配的一个计算任务,以及向协调器发送计算任务获取请求获取下一个计算任务,直至获取完分配的最后一个计算任务。
8.如权利要求6所述的方法,其特征在于,还包括:
所述工作节点从协调器获取量子电路计算任务分拆方案。
9.如权利要求6-8任一所述的方法,其特征在于,所述工作节点和所述协调器中采用相同的计算加速镜像;所述计算加速镜像中包括操作系统镜像、计算库镜像和编译后的计算加速主程序镜像。
10.一种协调器,其特征在于,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-5任一所述的量子计算模拟方法。
11.一种工作节点,其特征在于,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求6-9任一所述的量子计算模拟方法。
12.一种量子电路模拟器,其特征在于,包括如权利要求10所述的协调器和至少两个如权利要求11所述的工作节点。
13.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1-9任一所述的量子计算模拟方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603909.0A CN115204406A (zh) | 2022-05-30 | 2022-05-30 | 一种量子计算模拟方法、量子电路模拟器及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603909.0A CN115204406A (zh) | 2022-05-30 | 2022-05-30 | 一种量子计算模拟方法、量子电路模拟器及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115204406A true CN115204406A (zh) | 2022-10-18 |
Family
ID=83575598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210603909.0A Pending CN115204406A (zh) | 2022-05-30 | 2022-05-30 | 一种量子计算模拟方法、量子电路模拟器及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115204406A (zh) |
-
2022
- 2022-05-30 CN CN202210603909.0A patent/CN115204406A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Das et al. | Distributed deep learning using synchronous stochastic gradient descent | |
CN109993299B (zh) | 数据训练方法及装置、存储介质、电子装置 | |
US7647590B2 (en) | Parallel computing system using coordinator and master nodes for load balancing and distributing work | |
US11113782B2 (en) | Dynamic kernel slicing for VGPU sharing in serverless computing systems | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
EP2161685A2 (en) | Pipelined image processing engine | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
CN110187958B (zh) | 一种任务处理方法、装置、系统、设备及存储介质 | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
JP2014206979A (ja) | プロセス並列処理装置及び方法 | |
US11941528B2 (en) | Neural network training in a distributed system | |
CN114020470A (zh) | 资源分配方法、装置、可读介质及电子设备 | |
CN115437760A (zh) | 计算资源分配方法、电子设备、存储介质及程序产品 | |
CN116991560A (zh) | 针对语言模型的并行调度方法、装置、设备及存储介质 | |
CN115204406A (zh) | 一种量子计算模拟方法、量子电路模拟器及相关设备 | |
CN116048759A (zh) | 数据流的数据处理方法、装置、计算机和存储介质 | |
CN111489279A (zh) | Gpu加速优化方法、装置及计算机存储介质 | |
CN112468414B (zh) | 一种云计算多级调度方法、系统及存储介质 | |
CN115080207A (zh) | 基于容器集群的任务处理方法及装置 | |
CN114661474A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
JP2024511765A (ja) | マルチアクセラレータ計算ディスパッチ | |
CN114327856A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116483550A (zh) | 张量计算图的计算资源分配方法、装置和可读存储介质 | |
CN113076191A (zh) | 一种集群gpu资源调度系统 |
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 |