A method for realizing multi-body physical calculation acceleration on an FPGA based on an iTEBD algorithm
Patent Information
- Application Number
- CN202410537009.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-30
- Publication Date
- 2026-10-27
AI Technical Summary
[0003]然而,将iTEBD算法完全移植到FPGA上并非易事
[0024]本发明与现有技术相比,其有益效果是:通过在FPGA上实现iTEBD算法,利用FPGA固有的并行处理能力,提高多体物理系统计算的效率和速度。尽管CPU集成了流水线架构以促进多指令的同时处理,但FPGA可以通过配置专门的硬件电路来避免某些限制CPU效率的因素,如分支预测的不准确性和数据依赖性。与CPU实现相比,提高了1.7倍的算法执行效率。
Smart Images

Figure CN122985706A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of computer hardware acceleration segmentation, and in particular to a method for accelerating multi-body physical computing on FPGA based on the iTEBD algorithm. Background Technology
[0002] With the rapid development of science and technology, the simulation and research of many-body physics systems are playing an increasingly important role in fields such as physics, materials science, and quantum information. Especially in the study of quantum many-body systems, the accurate calculation of the system's ground state and dynamic properties has become a key challenge. Traditional computational methods, such as numerical simulations based on central processing units (CPUs), are often insufficient to meet the computational demands of large-scale systems due to limitations in computational resources and time. To address this issue, researchers have begun exploring the use of field-programmable gate arrays (FPGAs) to accelerate many-body physics computations. FPGAs, with their high programmability, parallel processing capabilities, and low power consumption, make them an ideal platform for executing complex algorithms.
[0003] However, fully porting the iTEBD algorithm to FPGA is no easy task. The software implementation of the algorithm needs to be translated into a hardware description language (such as Verilog or VHDL) and optimized to suit the hardware characteristics of the FPGA. Furthermore, the parallelism and pipeline strategies in the algorithm need to be carefully designed to fully utilize the parallel processing capabilities of the FPGA. Therefore, developing a method and system for accelerating many-body physics computation on FPGA based on the iTEBD algorithm requires not only a deep understanding of the iTEBD algorithm and the physical characteristics of quantum many-body systems, but also mastery of FPGA design and optimization techniques. Summary of the Invention
[0004] To address the shortcomings of existing technologies, the present invention aims to provide a method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm. This invention deeply analyzes the differences between software and hardware implementations of the iTEBD algorithm, and proposes an FPGA hardware algorithm processing architecture based on the iTEBD algorithm through the independent development of a loop pipeline, unroll strategy, and hardware description language (HDL), further improving the real-time execution efficiency of multi-body physics computation. This hardware acceleration scheme not only significantly improves computation speed but also shows obvious advantages in resource utilization and energy consumption, providing an effective hardware acceleration reference scheme for computationally intensive tasks in the fields of multi-body physics and quantum systems. To achieve the above-mentioned objectives and other advantages of the present invention, a method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm is provided, including the implementation of a multi-body physics computation acceleration system. This system includes a ground-state parallel computing unit matrix, which is connected to an input interface module and an output interface module.
[0005] The output interface module is connected to an intermediate variable storage unit, which is connected to the model convergence discrimination interface module, and the intermediate variable storage unit is connected to the input interface module.
[0006] The input interface module is connected to a local tensor storage unit, a Schmidt coefficient storage unit, and a virtual time evolution character storage unit;
[0007] The method for accelerating multibody physics calculations includes the following steps:
[0008] S1. Input the local tensor, Schmidt coefficients and imaginary time evolution symbol into the input interface module, and input the data into the ground state parallel computing unit matrix.
[0009] S2, the ground-state parallel computing unit matrix decomposes the imaginary time evolution symbol into a series of local two-site gates;
[0010] S3. The output interface module controls the storage of the current iteration result calculated from the ground state parallel computing unit matrix into the intermediate variable storage unit.
[0011] S4. The convergence discrimination interface module compares the results of the current iteration and the previous iteration stored in the intermediate variable storage unit to evaluate whether the execution of the iTEBD algorithm has reached the predetermined accuracy requirements, thereby determining whether the algorithm needs to continue iterating or can terminate the calculation.
[0012] Preferably, the following algorithmic operations need to be performed on the ground-state parallel computing unit matrix in step S2:
[0013]
[0014] r [2r] =Γ A , λ [2r] =λ A ,
[0015]
[0016]
[0017] Where |i [r] > represents the local Schmidt basis vectors, which are local virtual spins; and These represent the wave functions of the left and right sublattices of the Heisenberg chain, respectively. To correlate the third-order local tensor of the Schmidt basis vectors and the sublattice wavefunctions, The weights of the Schmidt decomposition are represented by 2-site gate denoted as .
[0018] Preferably, the iTEBD algorithm is implemented using Verilog code, and taking into account the characteristics of the iTEBD algorithm, the parallel processing capability of the FPGA is fully utilized to execute tensor multiplication and other related operations in the tensor network in parallel.
[0019] Preferably, tensor multiplication and other related operations include:
[0020] 1) Prepare MPS: Multiply and sum the elements of the local tensor and Schmidt coefficients;
[0021] 2) The prepared MPS is decomposed into four basis vectors, and the decomposed 2-site gate is applied alternately to the four basis vector components;
[0022] 3) Update local tensors and Schmidt coefficients: Obtain matrices U, S, and V by decomposing the four basis vectors through bilateral SVD, where S is the new Schmidt coefficient, and the local tensors are updated to the elements of U and V corresponding to the largest Db Schmidt coefficients.
[0023] Preferably, step S4 further includes monitoring the convergence status of the algorithm. The convergence status is determined by quantitatively evaluating whether the difference in the output of the Schmidt coefficients between two consecutive iterations is within a predetermined accuracy parameter range. If the algorithm has not converged, the system is instructed to continue the iteration; otherwise, it will issue a signal to stop the iteration and output the final result.
[0024] Compared with existing technologies, the beneficial effects of this invention are: by implementing the iTEBD algorithm on an FPGA, the inherent parallel processing capabilities of the FPGA are utilized to improve the efficiency and speed of computation in multi-body physical systems. Although CPUs integrate pipelined architectures to facilitate simultaneous processing of multiple instructions, FPGAs can avoid certain factors that limit CPU efficiency, such as inaccuracy in branch prediction and data dependencies, by configuring dedicated hardware circuitry. Compared with CPU implementations, the algorithm execution efficiency is improved by 1.7 times. Attached Figure Description
[0025] Figure 1 This is an example block diagram of the method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm according to the present invention;
[0026] Figure 2 The flowchart is shown below for the method of accelerating multi-body physics computation on FPGA based on iTEBD algorithm according to the present invention.
[0027] Figure 3 This is an example diagram of the ground-state parallel computing unit operation of the method for accelerating multi-body physical computation on FPGA based on the iTEBD algorithm according to the present invention;
[0028] Figure 4 The unroll strategy diagram is shown for the method of accelerating multi-body physics computation on FPGA based on the iTEBD algorithm according to the present invention.
[0029] Figure 5 This is a pipeline strategy diagram for the method of accelerating multi-body physical computation on FPGA based on the iTEBD algorithm according to the present invention. Detailed Implementation
[0030] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0031] Reference Figure 1-5 A method for accelerating multi-body physical computing on FPGA based on iTEBD algorithm, including the implementation of a multi-body physical computing acceleration system, the system including a ground-state parallel computing unit matrix, the ground-state parallel computing unit matrix being connected to an input interface module and an output interface module;
[0032] The output interface module is connected to an intermediate variable storage unit, which is connected to the model convergence discrimination interface module, and the intermediate variable storage unit is connected to the input interface module.
[0033] The input interface module connects to local tensor storage units, Schmidt coefficient storage units, and imaginary time evolution operator storage units. This iTEBD algorithm is particularly suitable for simulating the time evolution of one-dimensional quantum many-body systems. It represents the wavefunction as a matrix product state (MPS) and decomposes the imaginary time evolution operator into a series of local two-site gate operations, iteratively applying them to the MPS to gradually converge the system wavefunction to the ground state. This invention deeply analyzes the differences between software and hardware implementations of the iTEBD algorithm. By introducing a loop pipeline, an unroll strategy, and a hardware description language (HDL) for independent development, it proposes an FPGA hardware algorithm processing architecture based on the iTEBD algorithm, further improving the real-time execution efficiency of many-body physics computations. This hardware acceleration scheme not only significantly improves computational speed but also shows obvious advantages in resource utilization and energy consumption, providing an effective hardware acceleration reference scheme for computationally intensive tasks in the fields of many-body physics and quantum systems.
[0034] The method for accelerating multibody physics calculations includes the following steps:
[0035] S1. Input the local tensor, Schmidt coefficients, and imaginary time evolution symbol data into the input interface module, and input the data into the ground state parallel computing unit matrix; Step S1 includes: BRAM, as a fast storage resource, is used to store input data and intermediate calculation results. By writing hardware code, the read and write interfaces of BRAM are configured, thereby realizing fast access to the initial data and parameters required by the iTEBD algorithm stored in external or intermediate storage memory;
[0036] Furthermore, the ground-state parallel computing unit matrix in step S2 requires the following algorithmic operations to be performed:
[0037]
[0038] r [2r] =Γ A , λ [2r] =λ A ,
[0039]
[0040]
[0041] Where |i [r] > is the local Schmidt basis vector, which is the local virtual spin. and These represent the wave functions of the left and right sublattices of the Heisenberg chain, respectively. To correlate the third-order local tensor of the Schmidt basis vectors and the sublattice wavefunctions, The weights of the Schmidt decomposition are represented by 2-site gate denoted as .
[0042] The ground-state parallel computing unit includes: implementing the iTEBD algorithm using Verilog code, and fully utilizing the parallel processing capabilities of the FPGA to execute tensor multiplication and other related operations in the tensor network in parallel, specifically:
[0043] 1) Prepare MPS: Multiply and sum the elements of the local tensor and Schmidt coefficients;
[0044] 2) The prepared MPS is decomposed into four basis vectors, and the decomposed 2-site gate is applied alternately to the four basis vector components;
[0045] 3) Update local tensors and Schmidt coefficients: Obtain matrices U, S, and V by decomposing the four basis vectors through bilateral SVD, where S is the new Schmidt coefficient, and the local tensors are updated to the elements of U and V corresponding to the largest Db Schmidt coefficients.
[0046] S2, the ground-state parallel computing unit matrix decomposes the imaginary time evolution symbol into a series of local two-site gates;
[0047] S3. The output interface module controls the storage of the current iteration result calculated from the ground state parallel computing unit matrix into the intermediate variable storage unit.
[0048] S4. The convergence determination interface module compares the results of the current iteration and the previous iteration stored in the intermediate variable storage unit to evaluate whether the iTEBD algorithm has reached the predetermined accuracy requirement, thereby determining whether the algorithm needs to continue iterating or can terminate the calculation. Step S4 includes monitoring the convergence status of the algorithm. The convergence status is determined by quantitatively evaluating whether the difference in the output of the Schmidt coefficients of two consecutive iterations is within the predetermined accuracy parameter range. If the algorithm has not converged, it will instruct the system to continue iterating; otherwise, it will issue a signal to stop the iteration and output the final result.
[0049] The number of devices and processing scale described herein are for the purpose of simplifying the description of the invention, and applications, modifications and variations thereof will be apparent to those skilled in the art.
[0050] Although embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the specification and embodiments. They can be applied to various fields suitable for the present invention. For those skilled in the art, other modifications can be easily made. Therefore, without departing from the general concept defined by the claims and their equivalents, the present invention is not limited to the specific details and illustrations shown and described herein.
Claims
1. A method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm, characterized in that, This includes a multi-body physics computing acceleration system, which includes a ground-state parallel computing unit matrix connected to an input interface module and an output interface module. The output interface module is connected to an intermediate variable storage unit, which is connected to the model convergence discrimination interface module, and the intermediate variable storage unit is connected to the input interface module. The input interface module is connected to a local tensor storage unit, a Schmidt coefficient storage unit, and a virtual time evolution character storage unit; The method for accelerating multibody physics calculations includes the following steps: S1. Input the local tensor, Schmidt coefficients and imaginary time evolution symbol into the input interface module, and input the data into the ground state parallel computing unit matrix. S2, the ground-state parallel computing unit matrix decomposes the imaginary time evolution symbol into a series of local two-site gates; S3. The output interface module controls the storage of the current iteration result calculated from the ground state parallel computing unit matrix into the intermediate variable storage unit. S4. The convergence discrimination interface module compares the results of the current iteration and the previous iteration stored in the intermediate variable storage unit to evaluate whether the execution of the iTEBD algorithm has reached the predetermined accuracy requirements, thereby determining whether the algorithm needs to continue iterating or can terminate the calculation.
2. The method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm as described in claim 1, characterized in that, The following algorithmic operations need to be performed in step S2 to compute the ground state parallel unit matrix: C [2r] =C A ,l [2r] =λ A , C [2r+1] =C B ,l [2r+1] =λ B , Where |i [r] > represents the local Schmidt basis vectors, which are local virtual spins; and These represent the wave functions of the left and right sublattices of the Heisenberg chain, respectively. To correlate the third-order local tensor of the Schmidt basis vectors and the sublattice wavefunctions, The weights of the Schmidt decomposition are represented by 2-site gate denoted as .
3. The method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm as described in claim 1, characterized in that, The iTEBD algorithm is implemented using Verilog code, and taking advantage of the characteristics of the iTEBD algorithm, the parallel processing capability of the FPGA is fully utilized to execute tensor multiplication and other related operations in the tensor network in parallel.
4. The method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm as described in claim 3, characterized in that, Tensor multiplication and other related operations include: 1) Prepare MPS: Multiply and sum the elements of the local tensor and Schmidt coefficients; 2) The prepared MPS is decomposed into four basis vectors, and the decomposed 2-site gate is applied alternately to the four basis vector components; 3) Update local tensors and Schmidt coefficients: Obtain matrices U, S, and V by decomposing the four basis vectors through bilateral SVD, where S is the new Schmidt coefficient, and the local tensors are updated to the elements of U and V corresponding to the largest Db Schmidt coefficients.
5. The method for accelerating multi-body physics computation on FPGA based on the iTEBD algorithm as described in claim 1, characterized in that, Step S4 also includes monitoring the convergence status of the algorithm. The convergence status is determined by quantitatively evaluating whether the difference in the output of the Schmidt coefficients in two consecutive iterations is within the range of the predetermined accuracy parameter. If the algorithm has not converged, the system is instructed to continue the iteration; otherwise, the convergence discrimination interface module will send a signal to control the stopping of the iteration and output the final result.