QR Decomposition Loop Reordering for Parallel FPGA Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing QR decomposition techniques in integrated circuit devices face limitations due to data dependencies and resource constraints, leading to suboptimal performance and high memory usage, especially when processing large matrices.

Innovation Solution

The implementation of a Modified Gram-Schmidt algorithm with optimized loop organization and arithmetic-logic unit (ALU) to ALU connectivity in integrated circuit devices, such as FPGAs, which utilizes hard floating-point circuitry and distributed memories to enhance parallel processing and reduce data dependencies, allowing for simultaneous operation of scalar and vector datapaths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional QR decomposition techniques are implemented in integrated circuit devices, then the decomposition can be performed, but significant memory resources (4 Mb for Q matrix, 2 Mb for R matrix) and processing resources (256 processing blocks) are consumed

Engineering Contradiction:
ImproveQR decomposition throughputVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the QR decomposition process into distinct phases (Householder transformation phase and Gram-Schmidt phase) with specialized hardware for each phase. The system uses separate processing paths for different computational stages, allowing memory to be released after the Householder phase completes, thereby reducing peak memory requirements while maintaining high throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a software-based sequential implementation to a hardware-based parallel implementation by deploying dedicated processing blocks and utilizing the spatial dimensions of the integrated circuit device. This dimensional shift enables simultaneous execution of multiple operations, dramatically improving throughput while optimizing memory utilization through time-multiplexed access patterns

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

2Productivity

If more processing blocks are used to increase throughput, then QR decomposition performance improves, but device complexity and resource consumption increase

Engineering Contradiction:
ImproveQR decomposition throughputVSAvoidprocessing blocks
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs dynamic resource allocation where processing blocks are activated in different phases of the decomposition algorithm. During the Householder transformation phase, a specific number of processing blocks are engaged, while during the Gram-Schmidt phase, different blocks are activated. This dynamic switching allows high throughput without permanently deploying all processing blocks, thereby reducing overall device complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuous utilization of processing blocks across different phases of the algorithm by carefully orchestrating the transition between Householder and Gram-Schmidt phases. Processing blocks remain actively engaged in useful computations throughout the entire execution, eliminating idle time and maximizing throughput without requiring excess hardware resources

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If data dependencies are present in the algorithm, then numerical stability is maintained, but performance is limited due to sequential execution requirements

Engineering Contradiction:
Improvenumerical stabilityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the algorithm into phases where data dependencies are naturally contained within each phase. The Householder transformation phase processes elements with controlled dependencies, and the Gram-Schmidt phase handles subsequent computations. This segmentation allows parallel execution within phases while maintaining the necessary sequential dependencies between phases, achieving both numerical stability and high throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent resolves data dependency constraints by transitioning to a hardware parallel architecture that can evaluate multiple data elements simultaneously. The integrated circuit device's spatial parallelism allows independent computation paths to proceed concurrently, breaking the sequential bottlenecks inherent in software implementations while preserving numerical stability through dedicated hardware computation units

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

4Speed

If additional memory is implemented to enable simultaneous loading and processing, then data access efficiency improves, but memory resource consumption increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements preliminary data loading and preprocessing during the Householder transformation phase, preparing data structures and intermediate results before the Gram-Schmidt phase begins. This preliminary action allows subsequent phases to access pre-computed values without requiring additional memory, as the data is already in the optimal format and location for rapid access

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs a strategy where memory allocated for the Q matrix is released and recovered after the Householder transformation phase completes, and the same memory resources are then utilized for the Gram-Schmidt phase. This temporal separation of memory usage allows efficient data access during each phase without requiring duplicate memory allocations, thereby reducing total memory consumption while maintaining high data access speeds

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10872130B2High performance QR decomposition systems and methods
Publication Date: 2020.12.22 ALTERA CORP
  • US10872130B2 patent drawing
  • US10872130B2 patent drawing
  • US10872130B2 patent drawing

AI summary

Based on a Modified Gram-Schmidt (MGS) algorithm, QR decomposition techniques are optimized for parallel structures that provide arithmetic-logic unit (ALU) to ALU connectivity. The techniques utilize a different loop organization, but the dependent functional sequences of the algorithm are unchanged, thereby reducing likelihood of affecting error analysis and/or numerical stability. Some integrated circuit devices (e.g., FPGA) may implement hard floating-point (HFP) circuitry, such as a digital signal processing (DSP) block, distributed memories, and/or flexible internal connectivity, which can support the discussed high performance matrix arithmetic.