CN115130675B - 一种量子随机电路的多振幅模拟方法和装置 - Google Patents
一种量子随机电路的多振幅模拟方法和装置 Download PDFInfo
- Publication number
- CN115130675B CN115130675B CN202211068173.8A CN202211068173A CN115130675B CN 115130675 B CN115130675 B CN 115130675B CN 202211068173 A CN202211068173 A CN 202211068173A CN 115130675 B CN115130675 B CN 115130675B
- Authority
- CN
- China
- Prior art keywords
- tensor
- chip
- chip storage
- stored
- storage
- 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.)
- Active
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/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- 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/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及量子随机电路计算模拟技术领域,尤其涉及一种量子随机电路的多振幅模拟方法和装置,该方法包括:步骤一:根据芯片片上存储的最大存储容量以及张量网络收缩路径中每一步张量的最大维数确定进行算子融合的起始位置至结束位置;步骤二:在起始位置,分别将片外存储中的两个张量读取到片上存储并进行相应的转置,再进行融合;步骤三:将融合的结果进行转置后储存,用于在下一位置与所读取后转置的张量进行融合;步骤四:重复上述步骤三,直到算子融合到结束位置,将最终的融合的结果写回到片外存储。本发明可以有效减少片上存储和片外存储之间的数据访问次数,一方面提高多振幅计算模拟的并行度,另一方面提升多振幅计算模拟的效率。
Description
技术领域
本发明涉及量子随机电路计算模拟技术领域,尤其涉及一种量子随机电路的多振幅模拟方法和装置。
背景技术
量子随机电路计算模拟作为现阶段量子计算领域一个重要的研究内容,对于促进量子计算的发展有着重要意义。目前量子随机电路的计算模拟大多采用张量网络方法,其核心思想是将量子电路转化成张量网络,并将整个张量网络按照特定的路径进行张量收缩计算。由于张量网络中每一个张量的维度是有限的,可以被经典计算机存储,因此可以利用经典计算机,尤其是超算系统的强大运算能力,对量子随机电路进行计算模拟。
当前量子随机电路计算模拟主要分为单振幅计算模拟和多振幅计算模拟。单振幅模拟通过优化后的高维张量运算库进行计算,可以获得较高的运算效率。多振幅模拟目前主要根据随机采样的数量进行串行模拟,当采样数量较大时,效率往往较低。当前多振幅模拟主要是基于单振幅模拟的串行实现,并行度低;同时单个振幅模拟中每一步张量收缩都存在片上存储和片外存储之间的数据访问,当采样数量较多时,频繁的数据访问会严重影响采样的效率。
发明内容
为了解决现有技术中存在的上述问题,本发明提出了一种量子随机电路的多振幅模拟方法,从张量收缩过程中的某一步开始,通过减少片上存储和片外存储之间的数据访问次数,同时根据片上计算核心的数量对多个振幅并行计算,即增加任务的并行度,以提高量子随机电路多振幅计算模拟的效率,其具体技术方案如下:
一种量子随机电路的多振幅模拟方法,包括以下步骤:
步骤一:根据芯片片上存储的最大存储容量以及张量网络收缩路径中每一步张量的最大维数确定进行算子融合的起始位置至结束位置;
步骤二:在起始位置,分别将片外存储中的两个张量读取到片上存储并进行相应的转置,再进行融合;
步骤三:将融合的结果进行转置后储存,用于在下一位置与所读取后转置的张量进行融合;
步骤四:重复上述步骤三,直到算子融合到结束位置,将最终的融合的结果写回到片外存储。
进一步的,所述步骤一,具体为:当维数最大的张量所需的存储空间小于片上存储的最大存储容量的三分之一时,则这一步的张量网络收缩可进行算子融合,即可得到进行算子融合的起始位置至结束位置。
进一步的,所述张量网络是由多个张量按照收缩规则构成的网络模型。
进一步的,所述步骤二具体包括以下子步骤:
步骤2.1:在起始位置,通过直接存储器访问读取方式将片外存储中的张量B读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量B进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置;
步骤2.2:通过直接存储器访问读取方式将片外存储中的张量A1读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A1进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置;
步骤2.3:在片上存储中完成张量A1和张量B的融合,将融合的结果存放到片上存储的本地数据内存ldmC位置。
进一步的,所述步骤三具体包括以下子步骤:
步骤3.1:在片上存储中对融合的结果即存放在片上存储的本地数据内存ldmC位置的融合结果进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置;
步骤3.2:在下一个位置,通过直接存储器访问读取方式从片外存储中将张量A2读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A2进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置;
步骤3.3:在片上存储中完成张量A2和张量B的融合,将融合结果存放到片上存储的本地数据内存ldmC位置。
进一步的,所述步骤四具体为:重复上述步骤三,直到算子融合到结束位置,将存放在本地数据内存ldmC位置的融合结果通过直接存储器访问写入方式写回到片外存储张量C位置。
一种量子随机电路的多振幅模拟装置,包括一个或多个处理器,用于实现所述的一种量子随机电路的多振幅模拟方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的一种量子随机电路的多振幅模拟方法。
有益效果:
本发明可以有效减少片上存储和片外存储之间的数据访问次数,同时极大提高多振幅模拟的并行度,大大提高多振幅模拟的效率。
附图说明
图1是本发明的一种量子随机电路的多振幅模拟方法流程示意图;
图2是本发明实施例的算子融合的原理图;
图3是本发明实施例的一种量子随机电路的多振幅模拟装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。
本发明的一种量子随机电路的多振幅模拟方法,如图1所示,包括以下步骤:
步骤一:根据芯片片上存储的最大存储容量以及张量收缩路径中每一步张量的最大维数确定进行算子融合的起始位置至结束位置。
假设张量网络收缩中的任意一步为张量A和张量B进行张量收缩得到张量C,张量A的维数为M,张量B的维数为N,张量C的维数为K,则存储张量A、B、C需要的内存大小分别为8*(2^M)字节、8*(2^N)字节和8*(2^K)字节,当A、B、C中维数最大的张量所需的存储空间小于片上最大存储容量的三分之一时,则这一步张量收缩满足进行算子融合的要求。由于不同芯片的片上最大存储容量不同,进行算子融合的起始位置和结束位置也不同,对所有张量网络收缩的情况,可以根据不同芯片的片上存储的最大存储容量动态调整本发明算子融合的起始位置,适用于内存需求小于片上存储最大容量的任意维度张量收缩,以及根据张量收缩路径中每一步张量的最大维数确定执行算子融合的起始位置和结束位置,在起始位置和结束位置之间的所有张量收缩直接调用本发明的方法,其具体原理如图2所示。
步骤二:在起始位置,分别将片外存储中的两个张量读取到片上存储并进行相应的转置,再进行融合;具体的,包括以下子步骤:
步骤2.1:在起始位置,通过直接存储器访问读取方式DMA_GET将片外存储中的张量B读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量B进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置。
步骤2.2:通过直接存储器访问读取方式DMA_GET将片外存储中的张量A1读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A1进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置。
步骤2.3:在片上存储中完成张量A1和张量B的融合,将融合结果存放到片上存储的本地数据内存ldmC位置。
步骤三:将融合结果进行转置后储存,用于在下一位置与所读取后转置的张量进行融合;具体的,包括以下子步骤:
步骤3.1:在片上存储中对所述融合结果即存放在片上存储的本地数据内存ldmC位置的计算结果进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置。
步骤3.2:在下一个位置,通过直接存储器访问读取方式DMA_GET从片外存储中将张量A2读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A2进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置。
步骤3.3:在片上存储中完成张量A2和张量B的融合,将融合结果存放到片上存储的本地数据内存ldmC位置。
步骤四:重复上述步骤三,直到算子融合到结束位置,将最终的融合的结果写回到片外存储。
具体的,重复上述步骤三,直到算子融合到结束位置,将存放在本地数据内存ldmC位置的计算结果通过直接存储器访问写入方式DMA_PUT写回到片外存储张量C位置。
通过上述方法,可以有效减少片上存储和片外存储之间的数据访问次数,同时由于该方法可以在1个计算核心中运行,极大地提高了任务的并行度,在多振幅模拟时可以极大地提高模拟效率,大大降低多振幅模拟的时间开销。
与前述一种量子随机电路的多振幅模拟方法的实施例相对应,本发明还提供了一种量子随机电路的多振幅模拟装置的实施例。
参见图3,本发明实施例提供的一种量子随机电路的多振幅模拟装置,包括一个或多个处理器,用于实现上述实施例中的一种量子随机电路的多振幅模拟方法。
本发明一种量子随机电路的多振幅模拟装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明一种量子随机电路的多振幅模拟装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种量子随机电路的多振幅模拟方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种量子随机电路的多振幅模拟方法,其特征在于,包括以下步骤:
步骤一:根据芯片片上存储的最大存储容量以及张量网络收缩路径中每一步张量的最大维数确定进行算子融合的起始位置至结束位置,具体为:当维数最大的张量所需的存储空间小于片上存储的最大存储容量的三分之一时,则这一步的张量网络收缩可进行算子融合,即可得到进行算子融合的起始位置至结束位置;
步骤二:在起始位置,分别将片外存储中的两个张量读取到片上存储并进行相应的转置,再进行融合,具体包括以下子步骤:
步骤2.1:在起始位置,通过直接存储器访问读取方式将片外存储中的张量B读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量B进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置;
步骤2.2:通过直接存储器访问读取方式将片外存储中的张量A1读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A1进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置;
步骤2.3:在片上存储中完成张量A1和张量B的融合,将融合的结果存放到片上存储的本地数据内存ldmC位置;
步骤三:将融合的结果进行转置后储存,用于在下一位置与所读取后转置的张量进行融合,具体包括以下子步骤:
步骤3.1:在片上存储中对融合的结果即存放在片上存储的本地数据内存ldmC位置的融合结果进行转置,将转置后的结果存放到片上存储的本地数据内存ldmB位置;
步骤3.2:在下一个位置,通过直接存储器访问读取方式从片外存储中将张量A2读取到片上存储的本地数据内存ldmC位置,在片上存储中对张量A2进行转置,将转置后的结果存放到片上存储的本地数据内存ldmA位置;
步骤3.3:在片上存储中完成张量A2和张量B的融合,将融合结果存放到片上存储的本地数据内存ldmC位置;
步骤四:重复上述步骤三,直到算子融合到结束位置,将最终的融合的结果写回到片外存储。
2.如权利要求1所述的一种量子随机电路的多振幅模拟方法,其特征在于,所述张量网络是由多个张量按照收缩规则构成的网络模型。
3.如权利要求1所述的一种量子随机电路的多振幅模拟方法,其特征在于,所述步骤四具体为:重复上述步骤三,直到算子融合到结束位置,将存放在本地数据内存ldmC位置的融合结果通过直接存储器访问写入方式写回到片外存储张量C位置。
4.一种量子随机电路的多振幅模拟装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-3中任一项所述的一种量子随机电路的多振幅模拟方法。
5.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-3中任一项所述的一种量子随机电路的多振幅模拟方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068173.8A CN115130675B (zh) | 2022-09-02 | 2022-09-02 | 一种量子随机电路的多振幅模拟方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068173.8A CN115130675B (zh) | 2022-09-02 | 2022-09-02 | 一种量子随机电路的多振幅模拟方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115130675A CN115130675A (zh) | 2022-09-30 |
CN115130675B true CN115130675B (zh) | 2023-01-24 |
Family
ID=83387630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211068173.8A Active CN115130675B (zh) | 2022-09-02 | 2022-09-02 | 一种量子随机电路的多振幅模拟方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115130675B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914378A (zh) * | 2019-04-22 | 2020-11-10 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
CN113569511A (zh) * | 2021-06-11 | 2021-10-29 | 清华大学 | 一种量子电路的模拟方法及装置 |
WO2022027916A1 (zh) * | 2020-08-04 | 2022-02-10 | 合肥本源量子计算科技有限责任公司 | 基于量子算法的计算流体动力学模拟方法、装置及设备 |
CN114219076A (zh) * | 2021-12-15 | 2022-03-22 | 北京百度网讯科技有限公司 | 量子神经网络训练方法及装置、电子设备和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843775B (zh) * | 2016-04-06 | 2018-12-04 | 中国科学院计算技术研究所 | 片上数据划分读写方法、系统及其装置 |
US20210132969A1 (en) * | 2018-06-13 | 2021-05-06 | Rigetti & Co, Inc. | Quantum Virtual Machine for Simulation of a Quantum Processing System |
CN113703768B (zh) * | 2021-07-13 | 2024-10-11 | 清华大学 | 张量程序优化方法及装置 |
-
2022
- 2022-09-02 CN CN202211068173.8A patent/CN115130675B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914378A (zh) * | 2019-04-22 | 2020-11-10 | 合肥本源量子计算科技有限责任公司 | 一种单振幅量子计算模拟方法 |
WO2022027916A1 (zh) * | 2020-08-04 | 2022-02-10 | 合肥本源量子计算科技有限责任公司 | 基于量子算法的计算流体动力学模拟方法、装置及设备 |
CN113569511A (zh) * | 2021-06-11 | 2021-10-29 | 清华大学 | 一种量子电路的模拟方法及装置 |
CN114219076A (zh) * | 2021-12-15 | 2022-03-22 | 北京百度网讯科技有限公司 | 量子神经网络训练方法及装置、电子设备和介质 |
Non-Patent Citations (2)
Title |
---|
Distributed-Memory DMRG via Sparse and Dense Parallel Tensor Contractions;Ryan Levy et al;《SC20: International Conference for High Performance Computing, Networking, Storage and Analysis》;20210222;1-14页 * |
量子计算模拟及优化方法综述;喻志超;《计算机工程》;20220131;第48卷(第1期);1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115130675A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11551068B2 (en) | Processing system and method for binary weight convolutional neural network | |
KR20140102290A (ko) | 상태 기계에서의 검출을 위한 방법들 및 시스템들 | |
CN110837483B (zh) | 张量维度变换的方法以及装置 | |
US10755772B1 (en) | Storage device and methods with fault tolerance capability for neural networks | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
CN103838626A (zh) | 一种处理串行任务的数据处理装置及方法 | |
CN113569508B (zh) | 基于id进行数据索引与访问的数据库模型构建方法及设备 | |
CN109844774B (zh) | 一种并行反卷积计算方法、单引擎计算方法及相关产品 | |
CN118193443A (zh) | 用于处理器的数据加载方法、处理器、计算设备和介质 | |
CN107305486B (zh) | 一种神经网络maxout层计算装置 | |
CN115130675B (zh) | 一种量子随机电路的多振幅模拟方法和装置 | |
CN111813721B (zh) | 神经网络数据处理方法、装置、设备及存储介质 | |
CN113407258A (zh) | 一种存算一体架构的自适应资源配置布局布线方法及系统 | |
Di Ventra et al. | Just add memory | |
CN107491809A (zh) | 一种fpga实现残差网络中激活函数的方法 | |
US10083080B2 (en) | Ultra-low power processor-in-memory architecture | |
CN113111013A (zh) | 一种闪存数据块绑定方法、装置及介质 | |
CN111625368A (zh) | 一种分布式计算系统、方法及电子设备 | |
CN115146780B (zh) | 一种量子张量网络转置和收缩协同的方法和装置 | |
CN114118395B (zh) | 智能处理器装置与降低存储器带宽的方法 | |
CN115470737B (zh) | 生成数据流图的方法、电子设备及存储介质 | |
CN113688089B (zh) | 数据处理方法、计算系统和计算机存储介质 | |
TWI844108B (zh) | 積體電路及操作方法 | |
US20230109301A1 (en) | Sparse systolic array design | |
CN118445161A (zh) | 针对dram-pim的仿真器设计装置及dram-pim的仿真方法、设备和介质 |
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 |