Nested Loop Optimization in Machine Perception ICs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current integrated circuit architectures, particularly GPUs, are not optimized for handling complex machine learning algorithms used in machine perception technologies, leading to inefficiencies in processing sensor data for autonomous robotics and vehicles, which requires high-performance and real-time computing capabilities.

Innovation Solution

The implementation of a compiler program that evaluates and optimizes nested loop instructions by using multi-part implicit branch instructions to control the execution and termination of loop operations, reducing operational penalties and improving processing efficiency within the integrated circuit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional GPU architecture is used for processing sensor data, then general-purpose computing capability is provided, but processing efficiency for complex machine learning algorithms deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidadaptability for machine learning algorithms
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the processing architecture into specialized array processing cores dedicated to machine learning operations, separating these functions from general-purpose computing. This allows optimization of the array cores for specific ML workloads while maintaining GPU versatility through separate general-purpose cores.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the architectural parameters of the processing units by implementing array processing cores with specialized data structures and memory access patterns optimized for machine learning algorithms, rather than using conventional scalar processing units.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If additional processing circuitry is added to GPU to handle perception tasks, then processing capability is improved, but device complexity increases

Engineering Contradiction:
Improveperception processing capabilityVSAvoidcircuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the perception processing functions directly into the array processing cores that are already part of the GPU architecture, rather than adding completely separate processing circuitry. This integration reduces overall system complexity while maintaining enhanced perception processing capability.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If nested loop instructions are executed in traditional pipeline architecture, then general computing is supported, but execution time increases due to operational penalties

Engineering Contradiction:
Improveloop execution supportVSAvoidexecution time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-computing loop bounds and optimization parameters during code compilation, and by preparing data in advance in the array processing cores. This eliminates the need for time-consuming runtime calculations and reduces execution time for nested loop operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11061678B1Systems and methods for optimizing nested loop instructions in pipeline processing stages within a machine perception and dense algorithm integrated circuit
Publication Date: 2021.07.13 QUADRIC IO INC
  • US11061678B1 patent drawing
  • US11061678B1 patent drawing
  • US11061678B1 patent drawing

AI summary

In one embodiment, a method for improving a performance of an integrated circuit includes implementing one or more computing devices executing a compiler program that: (i) evaluates a target instruction set intended for execution by an integrated circuit; (ii) identifies one or more nested loop instructions within the target instruction set based on the evaluation; (iii) evaluates whether a most inner loop body within the one or more nested loop instructions comprises a candidate inner loop body that requires a loop optimization that mitigates an operational penalty to the integrated circuit based on one or more executional properties of the most inner loop instruction; and (iv) implements the loop optimization that modifies the target instruction set to include loop optimization instructions to control, at runtime, an execution and a termination of the most inner loop body thereby mitigating the operational penalty to the integrated circuit.