Point Processor Array Layout for Faster PDE Time-Stepping
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If parallel computing is used to speed up computation, then computation time is reduced, but data transfer bottlenecks occur and device complexity increases
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.
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.
3Productivity
If dedicated hardware is designed for solving partial differential equations, then computation efficiency is improved, but adaptability to different problem types decreases
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.
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.
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
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.
Data Source
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.


