CN115146780A - 一种量子张量网络转置和收缩协同的方法和装置 - Google Patents
一种量子张量网络转置和收缩协同的方法和装置 Download PDFInfo
- Publication number
- CN115146780A CN115146780A CN202211045996.9A CN202211045996A CN115146780A CN 115146780 A CN115146780 A CN 115146780A CN 202211045996 A CN202211045996 A CN 202211045996A CN 115146780 A CN115146780 A CN 115146780A
- Authority
- CN
- China
- Prior art keywords
- tensor
- contraction
- calculation
- quantum
- transposition
- 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
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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种量子张量网络转置和收缩协同的方法和装置,基于异构众核处理器,包括:步骤一:根据读取的张量信息,进行张量索引预分类后分块读入异构众核处理器的计算处理单元;步骤二:在计算处理单元中,根据索引信息,对读入的分块张量进行转置;步骤三:再对经过转置后的张量依据索信息进行张量收缩;步骤四:收缩完成后,将收缩结果输出回处理器的内存对应张量块位置并合成完整的新收缩后张量结果。本发明通过高效的张量分块、转置和张量收缩计算策略,合理地避免了中间结果的冗余访存开销,实现了转置和张量收缩计算一体化、提高了张量收缩的速度,有效解决了张量收缩计算时间长、效率低的问题,提高了大规模量子电路计算模拟的速度。
Description
技术领域
本发明属于量子电路计算模拟技术领域,涉及一种量子张量网络转置和收缩协同的方法和装置。
背景技术
在基于张量网络法的大规模量子电路模拟过程中,张量网络收缩的张量转置和张量收缩技术已经比较成熟,在国产异构众核处理器的运行平台上,目前张量转置和收缩计算均可单独实现。随着技术的发展,张量网络量子模拟方法越来越得到广泛应用,对张量收缩的性能和效率提出了更高的要求,各种维度和收缩索引离散的张量收缩计算给国产异构众核处理器的硬件潜力发挥带来了较大的挑战。
基于张量网络收缩的大规模量子电路模拟方法的关键在于张量收缩效率的高低,这极大程度决定了量子模拟器的速度。目前的张量收缩策略采用的策略是张量转置和张量收缩计算分别独立成运算模块,两部分运算模块分别需要额外的DMA访问片外主存操作,转置和收缩分开导致的额外访主存开销影响了量子模拟器的运算效率,因此现有技术在进行张量收缩时,对一些张量收缩算子存在一个缺陷,即由于张量收缩过程中的单位数据量上的计算密集程度不高,因此运算模块的访存成为性能瓶颈,严重抑制张量收缩的速度。我们发现,分别独立的张量转置和张量收缩计算的运算模块,中间结果的存出和导入分别占用了不必要的访存带宽,限制了量子模拟的速度,且使用原有张量转置和收缩策略不能充分地发挥出国产异构众核处理器的计算潜力。因此,基于生产后即消费的理念,把张量转置和张量收缩计算两个独立运算模块融合协同起来,整体张量收缩的效率还有优化提升空间。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提出了一种量子张量网络转置和收缩协同的方法和装置,通过张量索引的预分类,将包含要收缩的索引信息通过一次读取读入,继而根据索引信息排列进行张量转置和张量收缩计算,最终通过一次写出将结果输出,避免了中间结果的访存开销,大大提升了张量收缩的效率,其具体技术方案如下:
一种量子张量网络转置和收缩协同的方法,基于异构众核处理器,包括以下步骤:
步骤一:根据读取的张量信息,进行张量索引预分类后分块读入异构众核处理器的CPE计算处理单元;
步骤二:在所述CPE计算处理单元中,根据索引信息,对读入的分块张量进行转置;
步骤三:再对经过转置后的张量依据索信息进行收缩计算;
步骤四:收缩完成后,将收缩结果输出回内存对应张量块位置并合成完整的新收缩后张量结果。
进一步的,所述异构众核处理器采用超算芯片SW26020pro。
进一步的,所述步骤一具体为:在张量网络中,根据读取的张量的索引信息,预先对张量索引进行划分,再将划分好索引后的张量分块读入每个CPE计算处理单元。
进一步的,所述步骤二具体为:根据读入的索引信息,在每个CPE计算处理单元中根据要收缩的张量索引进行张量转置,生成矩阵乘法的行列式,表达式如下:
其中A和B为4维张量,a、b、e、f、i、j为张量节点的边,即索引。
进一步的,所述步骤三具体为:在每一个CPE计算处理单元中进行张量收缩计算,表达式如下:
进一步的,所述步骤四具体为:收缩计算完成后,在每一个CPE计算处理单元中所得的张量收缩结果依据读取规则通过DMA直接存储器访问输出回内存对应张量块位置,并合成完整的新收缩后张量结果,表明整个张量收缩计算完成。
一种量子张量网络转置和收缩协同的装置,包括一个或多个处理器,用于实现所述的一种量子张量网络转置和收缩协同的方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的一种量子张量网络转置和收缩协同的方法。
有益效果:
本发明针对异构众核处理器,通过高效的张量分块、转置和收缩计算策略,合理地避免了中间结果的冗余访存开销,实现了转置和收缩计算一体化、大大提高了张量收缩计算的速度,合理发挥了异构众核处理器的硬件计算性能,有效解决了张量收缩时间长、效率低的问题,提高了大规模量子电路计算模拟的速度。
附图说明
图1是本发明的一种量子张量网络转置和收缩协同的方法流程示意图;
图2是本发明实施例的张量转置和收缩协同的具体过程示意图;
图3是本发明实施例的一种量子张量网络转置和收缩协同的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
张量转置和张量收缩计算是一个访存数据量大、实际计算量小的工作,因此访存的瓶颈会严重抑制张量收缩的速度。要想进一步提高张量网络收缩的速度,一方面需要优化计算内核的效率,更重要的另一方面则是尽可能地减少访存开销。
但需要注意的是,目前要进行收缩计算的张量维度较大,当通过并行任务划分进行张量收缩计算时,张量需要根据维度来划分成小张量进行收缩计算,最终把收缩结果组合成最终收缩结果。这就带来了一个问题:之前的张量收缩计算的策略是转置完成后占用DMA带宽输出主存,执行张量收缩计算任务时再通过DMA直接存储器访问(Direct MemoryAccess)读取回计算单元中计算;现在想要减少掉中间访存,那么在转置时便需要将张量划分完毕,否则在收缩时会出现问题。
本发明实施例在已有的张量转置和收缩的基础上,重新设计并实现了转置块和收缩模块,采用公式(1)的一个小维度张量收缩计算为例,一个6维张量A和一个5维张量B收缩2条边即索引a和e生成一个6维张量C,表达式如下:
其中,在主程序中生成一个张量转置后的索引排序,表达式如下:
如图1和图2所示,本发明实施例的一种量子张量网络转置和收缩协同的方法,基于异构众核处理器,本实施例采用超算芯片SW26020pro,将张量转置和张量收缩计算通过一次访存操作完成,具体包括以下步骤:
步骤一:根据读取的张量信息,进行张量索引预分类后分块读入异构众核处理器的CPE计算处理单元。
在张量网络中,由于要收缩计算的张量较大,当并行做张量收缩计算时需要将网络中的张量根据索引分块转置和收缩计算,这就需要预先对张量索引进行划分,在读入每个CPE计算处理单元(Computation Processing Element)之前就将数据分段。
步骤二:在所述CPE计算处理单元中,根据索引信息,对读入的分块张量进行转置。
索引信息读入每个从核后,在每个CPE计算处理单元中根据要收缩计算的张量索引进行张量转置,生成矩阵乘法的行列式,表达式如下:
步骤三:再对经过转置后的张量依据索信息进行张量收缩计算。
在每一块CPE计算处理单元中的张量进行收缩计算,经过转置后的张量形如M×K×N形式,其中K为要收缩计算的张量索引,M和N为收缩计算完剩余的张量索引,表达式如下:
步骤四:收缩完成后,将收缩结果输出回内存对应张量块位置并合成完整的新收缩后张量结果。
具体的,收缩计算完成后,在每一个CPE计算处理单元中所得的张量收缩计算结果依据读取规则通过DMA直接存储器访问(Direct Memory Access)输出回内存对应张量块位置,并合成完整的新收缩后张量结果,则整个张量收缩计算完成,最后写出张量信息。
本发明所运行硬件设施为神威SW26020pro芯片,其包括6个核心组(cgg),每个核心组包括一个管理处理单元(Management Processing Element,MPE)和一个8×8的计算处理单元(Computation Processing Element,CPE)集群。每个从核CG都有自己的内存控制器(Memory Controller,MC),内存为16GB 的DDR4,通过51.2GB/s带宽的直接存储器访问(Direct Memory Access,DMA)与内存控制器MC连接。相同计算处理单元CPE集群中的两个计算处理单元CPE之间的数据交换是通过远程内存访问(Remote Memory Access, RMA)接口实现的,远程内存访问RMA提供了延迟极低的通信性能。每个计算处理单元CPE计算处理单元具有256KB的快速本地数据内存(Local Data Memory,LDM)。每个SW26010P 处理器由390 个处理单元组成。
与前述一种量子张量网络转置和收缩协同的方法的实施例相对应,本发明还提供了一种量子张量网络转置和收缩协同的转置的实施例。
参见图3,本发明实施例提供的一种量子张量网络转置和收缩协同的转置,包括一个或多个处理器,用于实现上述实施例中的一种量子张量网络转置和收缩协同的方法。
本发明的一种量子张量网络转置和收缩协同的转置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明的一种量子张量网络转置和收缩协同的装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种量子张量网络转置和收缩协同的方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种量子张量网络转置和收缩协同的方法,基于异构众核处理器,其特征在于,包括以下步骤:
步骤一:根据读取的张量信息,进行张量索引预分类后分块读入异构众核处理器的CPE计算处理单元;
步骤二:在所述CPE计算处理单元中,根据索引信息,对读入的分块张量进行转置;
步骤三:再对经过转置后的张量依据索信息进行张量收缩计算;
步骤四:收缩计算完成后,将收缩计算结果输出回内存对应张量块位置并合成完整的新收缩后张量结果。
2.如权利要求1所述的一种量子张量网络转置和收缩协同的方法,其特征在于,所述异构众核处理器采用超算芯片SW26020pro。
3.如权利要求1所述的一种量子张量网络转置和收缩协同的方法,其特征在于,所述步骤一具体为:在张量网络中,根据读取的张量的索引信息,预先对张量索引进行划分,再将划分好索引后的张量分块读入每个CPE计算处理单元。
6.如权利要求5所述的一种量子张量网络转置和收缩协同的方法,其特征在于,所述步骤四具体为:收缩计算完成后,在每一个CPE计算处理单元中所得的张量收缩计算结果依据读取规则通过DMA直接存储器访问输出回内存对应张量块位置,并合成完整的新收缩后张量,则整个张量收缩计算完成。
7.一种量子张量网络转置和收缩协同的装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-6中任一项所述的一种量子张量网络转置和收缩协同的方法。
8.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-6中任一项所述的一种量子张量网络转置和收缩协同的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211045996.9A CN115146780B (zh) | 2022-08-30 | 2022-08-30 | 一种量子张量网络转置和收缩协同的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211045996.9A CN115146780B (zh) | 2022-08-30 | 2022-08-30 | 一种量子张量网络转置和收缩协同的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115146780A true CN115146780A (zh) | 2022-10-04 |
CN115146780B CN115146780B (zh) | 2023-07-11 |
Family
ID=83416298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211045996.9A Active CN115146780B (zh) | 2022-08-30 | 2022-08-30 | 一种量子张量网络转置和收缩协同的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115146780B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170639A (zh) * | 2017-12-26 | 2018-06-15 | 云南大学 | 基于分布式环境的张量cp分解实现方法 |
CN111461311A (zh) * | 2020-03-26 | 2020-07-28 | 中国科学技术大学 | 基于众核处理器的卷积神经网络运算加速方法及装置 |
CN112765094A (zh) * | 2020-12-31 | 2021-05-07 | 北京航空航天大学 | 一种基于数据划分和计算分配的稀疏张量典范分解方法 |
US20210209270A1 (en) * | 2020-01-06 | 2021-07-08 | Alibaba Group Holding Limited | Distributed tensor network contraction scheme with splitting based on dynamic ordering |
US20210397772A1 (en) * | 2020-06-23 | 2021-12-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Quantum circuit simulation method and device, apparatus, and storage medium |
CN114219065A (zh) * | 2021-03-31 | 2022-03-22 | 无锡江南计算技术研究所 | 一种面向异构众核平台的Im2col加速方法 |
-
2022
- 2022-08-30 CN CN202211045996.9A patent/CN115146780B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170639A (zh) * | 2017-12-26 | 2018-06-15 | 云南大学 | 基于分布式环境的张量cp分解实现方法 |
US20210209270A1 (en) * | 2020-01-06 | 2021-07-08 | Alibaba Group Holding Limited | Distributed tensor network contraction scheme with splitting based on dynamic ordering |
CN111461311A (zh) * | 2020-03-26 | 2020-07-28 | 中国科学技术大学 | 基于众核处理器的卷积神经网络运算加速方法及装置 |
US20210397772A1 (en) * | 2020-06-23 | 2021-12-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Quantum circuit simulation method and device, apparatus, and storage medium |
CN112765094A (zh) * | 2020-12-31 | 2021-05-07 | 北京航空航天大学 | 一种基于数据划分和计算分配的稀疏张量典范分解方法 |
CN114219065A (zh) * | 2021-03-31 | 2022-03-22 | 无锡江南计算技术研究所 | 一种面向异构众核平台的Im2col加速方法 |
Non-Patent Citations (2)
Title |
---|
YONG LIU等: ""Closing the ‘Quantum Supremacy’ Gap: Achieving Real-Time Simulation of a Random Quantum Circuit Using a New Sunway Supercomputer"", 《HTTPS://ARXIV.ORG/ABS/2110.14502V1》 * |
刘仲;田希;: "面向多核向量处理器的矩阵乘法向量化方法", 计算机学报 * |
Also Published As
Publication number | Publication date |
---|---|
CN115146780B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
CN109543832B (zh) | 一种计算装置及板卡 | |
WO2019128404A1 (zh) | 矩阵乘法器 | |
CN102629258B (zh) | 重复数据删除方法和装置 | |
CN111176727A (zh) | 计算装置以及计算方法 | |
US20210216871A1 (en) | Fast Convolution over Sparse and Quantization Neural Network | |
CN113313247B (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
JP2024003111A (ja) | データ計算システム | |
CN111210004B (zh) | 卷积计算方法、卷积计算装置及终端设备 | |
CN113569508A (zh) | 基于id进行数据索引与访问的数据库模型构建方法及设备 | |
WO2022179075A1 (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111079908B (zh) | 片上网络数据处理方法、存储介质、计算机设备和装置 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
US20190236752A1 (en) | Wide key hash table for a graphics processing unit | |
CN110837483B (zh) | 张量维度变换的方法以及装置 | |
WO2021135572A1 (zh) | 神经网络的卷积实现方法、卷积实现装置及终端设备 | |
CN115146780B (zh) | 一种量子张量网络转置和收缩协同的方法和装置 | |
CN107491809A (zh) | 一种fpga实现残差网络中激活函数的方法 | |
CN102289424B (zh) | 一种动态可重构阵列处理器的构令流工作方法 | |
CN112433773B (zh) | 可重构处理器的配置信息记录方法及装置 | |
CN101751356A (zh) | 用于改进直接存储器存取传送效率的方法、系统和装置 | |
WO2021238289A1 (zh) | 序列处理的方法与装置 | |
CN111078624B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN113128688A (zh) | 通用型ai并行推理加速结构以及推理设备 |
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 |