Systolic Array for Solving Partial Differential Equations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face inefficiencies in solving differential equations, particularly due to the need for sequential calculations and limitations in parallel computing, leading to slow simulation times and increased computational costs, especially for large domain sizes and complex boundary conditions.
Innovation Solution
A specialized computing architecture utilizing systolic arrays to process differential equations, where each systolic array is configured to solve a specific type of differential equation, with multiple sub-arrays processing nodes in parallel to generate subsequent time-step data, and a coordinator managing the operations across multiple DEA units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional sequential computing methods are used to solve differential equations, then computational accuracy is maintained, but computational time increases significantly
Solution Approach 1:
The patent divides the computational domain into multiple discrete nodes and organizes them into a mesh structure. Each node represents an independent computational unit that can be processed separately. This segmentation enables parallel processing across multiple nodes simultaneously, dramatically reducing the overall computational time required to solve differential equations while maintaining the accuracy of the solution.
Solution Approach 2:
The patent transitions from sequential one-dimensional processing to multi-dimensional parallel processing by organizing computational nodes in a spatial mesh structure. The systolic array architecture processes nodes across multiple dimensions (spatial and temporal) simultaneously, allowing the system to evaluate multiple points in the domain at once rather than sequentially, thus achieving exponential speedup.
2Productivity
If general-purpose computer systems are used for solving differential equations, then versatility is maintained, but computational efficiency decreases
Solution Approach 1:
The systolic array architecture is designed with a universal structure that can solve multiple types of differential equations (parabolic, hyperbolic, elliptic) by configuring the same hardware with different parameters and boundary conditions. The mesh-based node organization and standardized computation pipeline allow the system to adapt to various problem types without requiring dedicated hardware for each equation type, thus maintaining versatility while achieving high computational efficiency.
Solution Approach 2:
The patent achieves versatility through parameter configuration rather than structural changes. The same systolic array hardware can solve different differential equations by adjusting parameters such as the discretization scheme, boundary condition values, and equation coefficients. This parameter-based adaptability allows a single efficient hardware architecture to handle a wide range of differential equation types.
3Measurement precision
If the domain size is increased to improve solution accuracy, then measurement precision improves, but computational complexity increases
Solution Approach 1:
The patent segments the computational domain into a mesh of discrete nodes, where each node is an independent processing unit in the systolic array. This segmentation allows the system to handle large domains by distributing computations across many nodes in parallel. The modular nature of the mesh structure means that increasing domain size simply adds more nodes to the array rather than increasing the complexity of individual computational units, enabling scalable solutions for large domains.
Solution Approach 2:
The patent resolves the complexity issue by transitioning to a multi-dimensional parallel architecture. Instead of increasing sequential processing power to handle larger domains, the system uses a two-dimensional mesh structure processed by a systolic array, where both spatial dimensions and time steps are handled in parallel. This dimensional transformation converts what would be a computationally intensive sequential problem into a efficiently parallelizable problem.
4Productivity
If parallel computing is implemented to reduce computational time, then processing speed improves, but system complexity increases
Solution Approach 1:
The patent merges multiple computational operations into a unified systolic array architecture. Instead of using separate processing units for different aspects of the differential equation solution (advection, diffusion, boundary conditions), the system combines all these functions into a single integrated mesh-based parallel processor. This merging reduces the overall system complexity by eliminating the need for complex interconnections between multiple specialized units while achieving high parallel processing speed.
Solution Approach 2:
The systolic array architecture is designed to be self-organizing and self-synchronizing. Each node in the mesh automatically receives data from its neighbors and performs computations in a coordinated fashion without requiring complex external control logic. The data flows naturally through the array in a wave-like pattern, with each node serving itself by computing based on locally available information from adjacent nodes, thereby reducing the need for complex control systems.
Data Source
AI summary
Embodiments relate to a system for solving differential equations. The system is configured to receive problem packages corresponding to problems to be solved, each comprising at least a differential equation and a domain. A solver stores a plurality of nodes of the domain corresponding to a first time-step, and processes the nodes over a plurality of time-steps using a systolic array comprising hardware for solving the particular type of the differential equation. The systolic array processes each node to generate a node for a subsequent time-step using a sub-array comprising a plurality of branches, each branch comprising a respective set of arithmetic units arranged in accordance with a corresponding term of the discretized form of the differential equation, and an aggregator configured to aggregate the corresponding terms from each branch to generate node data for the subsequent time-step.


