Sparse Matrix Factorization via FPGA Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing the factorization of a sparse matrix is computationally intensive and time-consuming, requiring significant resources, making it challenging for real-time decision-making in scenarios where the environment changes rapidly.

Innovation Solution

A system comprising a configurable logic device, such as a field programmable gate array (FPGA), and a processor that share memory space to efficiently perform sparse matrix factorization, utilizing DMA controllers for data transfer and VHDL for configuring logic gates to accelerate matrix operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional computing methods are used to compute sparse matrix factorization, then computation accuracy is maintained, but computation time and resource consumption are excessively high

Engineering Contradiction:
Improvecomputation timeVSAvoidcomputation speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the sparse matrix into multiple blocks or partitions, allowing parallel processing of different matrix sections. This segmentation enables the computation to be divided across multiple processing units, significantly reducing overall computation time while maintaining the accuracy of the factorization result.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential processing to parallel processing by utilizing multiple processing units simultaneously. This dimensional change in computation architecture allows multiple operations to occur concurrently, dramatically improving computation speed without sacrificing accuracy.

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

2Productivity

If more compute resources are allocated to sparse matrix factorization, then computation speed increases, but device complexity and resource requirements become prohibitively large

Engineering Contradiction:
Improvecomputation speedVSAvoidcompute resource requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by optimizing the computational approach for specific sparse matrix characteristics. Rather than using a uniform high-resource approach throughout, the method adapts computational strategies to local matrix properties, reducing overall resource requirements while maintaining computation speed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes computational parameters such as precision requirements and iteration limits based on the specific application needs. By adjusting these parameters, the system achieves acceptable computation speed without requiring maximum resource allocation, thereby reducing device complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If conventional processing architectures are used, then implementation simplicity is maintained, but real-time processing capability is insufficient for rapidly changing environments

Engineering Contradiction:
Improvereal-time processing capabilityVSAvoidprocessing architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic processing architecture that can adapt to real-time requirements. The system dynamically allocates computational resources and adjusts processing priorities based on the urgency and characteristics of incoming data, enabling real-time processing capability while managing architecture complexity through adaptive control mechanisms.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11249684B2Computation of solution to sparse matrix
Publication Date: 2022.02.15 RAYTHEON CO
  • US11249684B2 patent drawing
  • US11249684B2 patent drawing
  • US11249684B2 patent drawing

AI summary

Discussed herein are devices, systems, and methods for efficient sparse matrix factorization. A method can include writing matrix data representing a sparse matrix to a memory, after writing the matrix data to the memory, write data to a control register of a field programmable gate array (FPGA) indicating the matrix data is available for factorization, and in response to either of (i) reading a status register indicating that the FPGA has factorized the matrix data, or (ii) receiving a software interrupt indicating that the FPGA has factorized the matrix data, determining a solution to a linear system of equations represented by the sparse matrix.