High-order sparse matrix LDL-oriented efficient decomposition calculation acceleration method
By employing a hardware-software co-computation mechanism and a customized instruction set on the FPGA platform, the problems of memory access irregularities and complex data dependencies in sparse matrix decomposition are solved, achieving efficient parallel sparse matrix LDL decomposition and improving the efficiency and accuracy of sparse matrix solving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING AEROSPACE AUTOMATIC CONTROL RES INST
- Filing Date
- 2026-01-29
- Publication Date
- 2026-05-19
AI Technical Summary
Traditional CPUs or GPUs suffer from problems such as irregular memory access, complex data dependencies, and high dynamic control overhead when processing sparse matrix decomposition, making it difficult to achieve efficient parallel solution of high-order sparse matrix linear equations.
Using an FPGA platform and a hardware-software co-computation mechanism, the sparse matrix decomposition task is divided into two stages: offline planning and online execution. By combining a customized instruction set and a multi-level parallel hardware structure, efficient acceleration of sparse matrix LDL decomposition is achieved.
It significantly reduces the dynamic control overhead of sparse matrix solving, improves parallelism and storage access efficiency, and meets the needs of high-precision engineering applications.
Smart Images

Figure CN122064644A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of high-performance computing and hardware acceleration technology, specifically relating to a hardware acceleration method and computing architecture for LDL decomposition of high-order sparse symmetric positive definite matrices, which can be used in FPGA-based scenarios for solving linear equations of high-order sparse matrices. Background Technology
[0002] In applications such as engineering simulation, structural mechanics, electromagnetic analysis, and attitude calculation, a large number of computational tasks can be reduced to solving the linear equation system Ax=b. In many physical modeling problems based on finite difference or finite element methods, the resulting sparse linear systems after discretization are enormous, especially in large-scale problems where the coefficient matrix often has a positive definite and highly sparse structure. Traditional iterative methods (such as CG, BiCGSTAB, etc.) struggle to meet the demands of practical applications in terms of convergence speed and accuracy control, thus necessitating a more stable and reliable direct solution method.
[0003] Traditional CPUs or GPUs struggle to achieve efficient parallelism in sparse matrix factorization due to issues such as irregular memory access and complex data dependencies. FPGAs, with their reconfigurable parallel architecture and low power consumption, offer a new approach to sparse matrix factorization.
[0004] Traditional multi-core CPUs or GPUs are limited by the following factors when processing sparse matrix factorization:
[0005] Memory access irregularity: Non-zero elements in a sparse matrix are sparsely and discontinuously distributed, leading to frequent memory access conflicts and low cache hit rate;
[0006] Data dependencies are complex: There are many forward and backward dependencies in the LDL decomposition process, making it difficult to achieve efficient parallel scheduling;
[0007] High dynamic control overhead: GPU thread bundles exhibit branching and divergence, and CPU instruction stream scheduling is complex, both of which limit computational performance.
[0008] FPGAs, with their reconfigurable parallel architecture and low power consumption, offer a novel approach to this type of computation. Especially when the sparse matrix structure is fixed and the non-zero distribution is known in advance, FPGAs can generate pre-defined instructions through software preprocessing, symbolic analysis, and task planning. Hardware edge computing then executes a lightweight instruction-flow solution process, significantly reducing runtime control and memory access burdens. However, current research still lacks a systematic hardware implementation framework for solving high-order sparse matrix linear equation systems.
[0009] Therefore, there is an urgent need for an FPGA acceleration architecture that balances accuracy, efficiency, and hardware resource constraints, enabling efficient execution and reusable solutions for solving high-order sparse matrix linear equations. Summary of the Invention
[0010] This invention aims to provide an FPGA accelerator for sparse matrix LDL decomposition operations, addressing the problems of complex computational dependencies, low memory access efficiency, and high control logic overhead in existing technologies. By splitting the decomposition process into two stages—offline planning and online execution—and combining a customized instruction set with a multi-level parallel hardware architecture, highly efficient acceleration of sparse matrix decomposition is achieved.
[0011] This accelerator is built on an FPGA platform and achieves efficient decomposition of high-order sparse matrices through a hardware-software co-computation mechanism. At the software level, it performs symbolic analysis of sparse positive definite matrices, models computational order dependencies, and generates custom hardware instructions for LDL decomposition. The hardware acceleration unit performs instruction fetching, decoding, and execution of custom instructions to pipeline the decomposition task and complete the numerical computation of high-order matrices. The system includes an instruction generation unit, an instruction parsing unit, a computation module, a data access module, and a control and scheduling module. These modules work together to improve parallelism and memory access efficiency.
[0012] The beneficial effects of this invention are as follows:
[0013] 1. Hardware-software co-processing mechanism: The sparse matrix decomposition task is divided into two stages: symbolic analysis at the software level and instruction execution at the hardware level, which greatly reduces the complexity of online computation.
[0014] 2. Dependency Modeling and Hierarchical Scheduling Based on Right-Look Algorithm: Column dependencies are extracted using elimination trees, and intra-column parallelism is achieved using a multi-level scheduling strategy;
[0015] 3. Customized instruction set design: Key arithmetic and data operations in the decomposition process are expressed through a lightweight instruction structure, enabling flexible hardware-interpretable execution;
[0016] 4. Multi-module pipelined parallel architecture: Dedicated operation units for multiplication, addition, and division are constructed, and multiplication and addition are fused using a MAC structure to improve computational density;
[0017] 5. Address generation and cache optimization mechanism: Based on the CSC structure index parsing logic, combined with multi-level caching and prefetching strategies, a high-bandwidth and low-latency data path is achieved;
[0018] 6. Support for multiple precision calculations: To meet the accuracy requirements of coordinate positioning and numerical solution in engineering applications, multiple precision formats such as fp16, fp32, and fp64 are adopted and resource allocation strategies are optimized. Attached Figure Description
[0019] The accompanying drawings, which form part of this application, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0020] Figure 1 This is the overall system block diagram disclosed in this invention.
[0021] Figure 2 It is a diagram of the custom instruction format structure.
[0022] Figure 3 This is the right-view LDLᵀ decomposition coding relationship diagram. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. 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 should fall within the scope of protection of the present invention.
[0024] like Figure 1 As shown, the system includes an instruction generation unit, an instruction parsing unit, a computation module cluster, an address generation and data access module, a control and scheduling module, and a result write-back module. Instruction streams are generated through offline symbol analysis and hierarchical scheduling, enabling multi-stage pipelined and parallel execution on the FPGA. The computation module includes a diagonal extraction unit, an L-matrix calculation unit, and a residual matrix update unit. High-speed data transfer between modules is achieved through caches and register files. The system employs double-precision floating-point format and a CSC storage structure to improve the accuracy and efficiency of sparse matrix solving.
[0025] The software preprocessing performs sparse matrix structure analysis, reordering, elimination tree construction, and dependency hierarchy partitioning, generating the corresponding sparse LDL decomposition instruction sequence. This instruction sequence includes three types of instructions: arithmetic operations, data transmission, and synchronous jumps, ultimately solidified into a micro-operation flow recognizable by the FPGA. For example... Figure 3 The diagram shown is a right-view LDL decomposition and coding relationship diagram.
[0026] In the hardware edge computing section, after the FPGA loads the input vector b, it executes the matrix decomposition and solution process according to the instruction stream. The control and scheduling module dynamically schedules instructions based on the elimination tree dependency structure to achieve pipelined parallel execution.
[0027] (I) Instruction System Design
[0028] like Figure 2 As shown, the instruction format uses a 72-bit structure, including:
[0029] Opcode (16-bit): Identifies the instruction type;
[0030] Source address field (16 bits) and destination address field (16 bits): used to specify the location of sparse matrix elements or registers;
[0031] Control field (32-bit): Contains immediate values, pipeline flags, and synchronization control information.
[0032] This design balances expressive power with hardware decoding efficiency, enabling operations such as loading, updating, and synchronization in sparse matrix computation to be completed with a small number of instructions.
[0033] (II) Calculation Module
[0034] The calculation module includes:
[0035] Diagonal extraction unit: Combined with the address generation module, it enables rapid location and extraction of the diagonal elements D(k,k) of the current column;
[0036] L-matrix computation unit: Contains multiplication, addition, and division modules, and supports pipelined execution of sparse element computation;
[0037] The remaining matrix update unit uses a multiply-accumulate (MAC) structure to perform parallel updates of the right-hand submatrix.
[0038] The modules are connected through local register files and FIFO buffers to achieve high-speed transmission of data and control signals.
[0039] (III) Address Generation and Data Access Module
[0040] To accommodate the irregularity of sparse matrix access, a Compressed Sparse Column (CSC) storage format is adopted. This module parses the column pointer array Ap and the row index array Ai, and generates the target address in real time through a pipelined address calculation unit. The module has a two-level cache structure: the first-level cache is used to store the data of the currently calculated column, and the second-level cache is used for prefetching and reusing data of adjacent columns, thereby reducing the latency of main memory access.
[0041] (iv) Control and scheduling mechanism
[0042] The control and scheduling module adopts a scheduling strategy that combines static and dynamic methods.
[0043] Static scheduling completes the hierarchical division during the compilation phase, ensuring the correct dependency order; dynamic scheduling allocates tasks in real time at runtime based on module status and instruction queues, achieving load balancing of computing units. Furthermore, the system integrates a performance monitoring and feedback unit, which can collect latency and throughput data during operation, providing a basis for subsequent optimization.
[0044] (V) Double-precision computing and resource optimization
[0045] To meet the numerical accuracy requirements of engineering applications, all arithmetic modules in this invention support the IEEE-754 double-precision floating-point format. Considering FPGA resource limitations, a shared computing unit and multi-cycle pipeline design are adopted to balance logic resources and clock frequency while ensuring accuracy.
[0046] (vi) System advantages
[0047] The present invention has the following advantages through the above technical solution:
[0048] Offline pre-planning and efficient online execution reduce the dynamic control overhead of sparse matrix solving;
[0049] Hardware-level pipelines and multi-stage parallel architecture significantly improve the throughput of matrix decomposition and solution;
[0050] Dual precision support and structured optimization meet the needs of high-precision engineering applications;
[0051] It is highly scalable and suitable for high-performance matrix solving tasks on FPGA and other reconfigurable computing platforms.
[0052] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for accelerating the computation of efficient LDL decomposition of high-order sparse matrices, characterized in that, The software preprocessing completes the sparse matrix structure analysis, reordering, elimination tree construction and dependency hierarchy partitioning, generating the corresponding sparse LDL decomposition instruction sequence; In the hardware edge computing section, after the FPGA loads the input vector b, it performs matrix decomposition and solution processes according to the instruction stream.
2. The method for accelerating the computation of efficient LDL decomposition of high-order sparse matrices according to claim 1, characterized in that, The instruction sequence includes three types of instructions: arithmetic operations, data transmission, and synchronous jumps.
3. The method for accelerating the computation of efficient LDL decomposition of high-order sparse matrices according to claim 2, characterized in that, The instruction sequence is ultimately solidified into a micro-operation flow that can be recognized by the FPGA.
4. A method for accelerating the computation of efficient LDL decomposition of high-order sparse matrices according to any one of claims 1-3, characterized in that, The instructions are dynamically scheduled based on the elimination tree dependency structure to achieve pipelined parallel execution.
5. An FPGA accelerator for sparse matrix LDL decomposition operations, used to execute the efficient computation acceleration method for high-order sparse matrix LDL decomposition according to any one of claims 1-4. Its characteristic is that... The accelerator includes an instruction generation unit, an instruction parsing unit, a computing module cluster, an address generation and data access module, a control and scheduling module, and a result write-back module.
6. An FPGA accelerator for sparse matrix LDL decomposition operations according to claim 5, characterized in that, High-speed data transfer between modules is achieved through cache and register files.
7. An FPGA accelerator for sparse matrix LDL decomposition operations according to claim 5 or 6, characterized in that, The calculation module includes a diagonal extraction unit, an L-matrix calculation unit, and a remaining matrix update unit.
8. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-7, characterized in that, The accelerator employs a double-precision floating-point format and a CSC storage structure to improve the accuracy and efficiency of sparse matrix solving.
9. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-8, characterized in that, The instruction format of the instruction generation unit adopts a 72-bit structure, including: opcode, source address field, destination address field, and control field.
10. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 7-9, characterized in that, The diagonal extraction unit, in conjunction with the address generation module, enables rapid location and extraction of the diagonal elements D(k,k) of the current column.
11. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 7-10, characterized in that, The L matrix calculation unit contains multiplication, addition, and division modules, and supports pipelined execution of sparse element calculations.
12. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 7-11, characterized in that, The remaining matrix update unit uses a multiply-accumulate (MAC) structure to complete the parallel update of the right-hand submatrix.
13. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-12, characterized in that, The address generation and data access module adopts the Compressed Sparse Column (CSC) storage format.
14. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-13, characterized in that, The address generation and data access module parses the column pointer array Ap and the row index array Ai, and generates the target address in real time through the pipelined address calculation unit.
15. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-14, characterized in that, The address generation and data access module has a two-level cache structure.
16. An FPGA accelerator for sparse matrix LDL decomposition operation according to claim 15, wherein the first-level cache of the two-level cache structure is used to store the data of the current computation column, and the second-level cache is used for prefetching and reusing the data of adjacent columns.
17. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-16, characterized in that, The control and scheduling module adopts a scheduling strategy that combines static and dynamic methods.
18. An FPGA accelerator for sparse matrix LDL decomposition operations according to claim 17, characterized in that, The static scheduling completes the hierarchical division during the compilation phase, ensuring the correct dependency order.
19. An FPGA accelerator for sparse matrix LDL decomposition operations according to claim 17, characterized in that, The dynamic scheduling allocates tasks in real time based on the module status and instruction queue during runtime, thereby achieving load balancing of computing units.
20. An FPGA accelerator for sparse matrix LDL decomposition operations according to any one of claims 5-19, characterized in that, The accelerator integrates a performance monitoring and feedback unit, which can collect latency and throughput data during operation, providing a basis for subsequent optimization.