Point Processor Array Layout for Faster PDE Time-Stepping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies in solving partial differential equations due to sequential calculations, data transfer bottlenecks in parallel computing, and limitations in solving large domain problems with complex boundary conditions, leading to slow simulation times and high computational demands.

Innovation Solution

A specialized computer architecture with an array of point processors and a compiler that schedules data and instructions at compile time, allowing for on-chip computation without dynamic scheduling, and optimizing data locality and instruction pipelining to enhance computational efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential calculations are used on current computer systems, then the system is simple to implement, but the computation time is excessively long and productivity is low

Engineering Contradiction:
Improvecomputation speedVSAvoidsimulation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The computational domain is divided into multiple spatial dimensions (e.g., 3D grid points), and each dimension is processed by separate processor arrays. This segmentation allows simultaneous computation across different spatial locations, transforming sequential calculation into parallel execution and dramatically reducing simulation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces multiple processor arrays oriented along different spatial dimensions (x-dimension array, y-dimension array, z-dimension array) to match the dimensional structure of the computational domain. This dimensional mapping enables each processor to handle calculations for its corresponding spatial location simultaneously, achieving parallel processing that reduces computation time from sequential to near-instantaneous completion.

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

2Productivity

If parallel computing is used to speed up computation, then computation time is reduced, but data transfer bottlenecks occur and device complexity increases

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

Solution Approach 1:

Multiple processor arrays (x-dimension, y-dimension, z-dimension) are merged into a single integrated computational system that shares common memory resources and control logic. This merging reduces the need for separate data transfer interfaces between independent parallel systems, eliminating data transfer bottlenecks while maintaining parallel computation speed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The processor arrays are designed with universal functionality to handle multiple operations (addition, multiplication, data transfer) within a single architectural framework. Each processor can perform different computational tasks depending on its position and the current iteration requirements, reducing overall system complexity while enabling parallel processing.

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

3Productivity

If dedicated hardware is designed for solving partial differential equations, then computation efficiency is improved, but adaptability to different problem types decreases

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidproblem type flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The processor arrays are configured dynamically based on the specific partial differential equation being solved. The system can adjust the number of processor arrays, their dimensional orientations, and interconnection patterns to match the requirements of different problem types (e.g., heat transfer, fluid dynamics, wave propagation), maintaining high computation efficiency across diverse applications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent allows modification of key parameters such as grid resolution, domain size, boundary condition types, and processor array dimensions to adapt to different problem specifications. By changing these parameters rather than redesigning the entire system, the dedicated hardware maintains adaptability while preserving its computational efficiency for solving partial differential equations.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If memory bandwidth is increased to handle large domain problems, then more data can be processed, but cost and device complexity increase

Engineering Contradiction:
Improvedomain sizeVSAvoidmemory bandwidth requirements
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Each processor in the arrays is equipped with local memory or registers that store data for its specific spatial location. This local storage eliminates the need for all processors to access a single large memory pool simultaneously, reducing memory bandwidth requirements while enabling processing of large computational domains by distributing data access locally across the processor array.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12475188B2Compute time point processor array for solving partial differential equations
Publication Date: 2025.11.18 VORTICITY INC
  • US12475188B2 patent drawing
  • US12475188B2 patent drawing
  • US12475188B2 patent drawing

AI summary

Embodiments relate to a system for solving partial differential equations. The system receives a problem to be solved comprising a partial 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 an array of point processors. Each point processor comprises an ALU and a register file, and is configured to receive data corresponding to a respective node of a domain and generate a value for the node for a next time step, based upon instructions received over time via an instruction stream.