Systolic Array for Solving Partial Differential Equations

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputational timeVSAvoidsolving speed
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If general-purpose computer systems are used for solving differential equations, then versatility is maintained, but computational efficiency decreases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidsystem flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If the domain size is increased to improve solution accuracy, then measurement precision improves, but computational complexity increases

Engineering Contradiction:
Improvesolution accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Productivity

If parallel computing is implemented to reduce computational time, then processing speed improves, but system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11640280B2Systolic array design for solving partial differential equations
Publication Date: 2023.05.02 VORTICITY INC
  • US11640280B2 patent drawing
  • US11640280B2 patent drawing
  • US11640280B2 patent drawing

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.