Correlation Convolution Engine for GPU Vision Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing units (GPUs) face challenges in flexibility and efficiency for performing correlation and convolution computations, which are crucial for computer vision tasks, as custom hardware is inflexible and software solutions incur substantial overhead.

Innovation Solution

A correlation and convolution engine is integrated with a general-purpose massively parallel processor within GPUs to perform these computations, allowing for flexible configuration and acceleration of computer vision processes, including pre- and post-computation capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If custom hardware is used for correlation and convolution computations, then computation efficiency is improved, but hardware flexibility deteriorates

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidhardware flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal correlation and convolution engine that can perform multiple types of computations (correlation, convolution, similarity metrics) using the same hardware architecture. The engine includes configurable functional units that can be dynamically assigned different operations based on software control, allowing a single hardware design to serve multiple computer vision tasks without requiring custom hardware for each operation type.

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

Solution Approach 2:

The patent introduces dynamic configurability to the hardware engine through a configuration module that can dynamically adjust the operational mode of functional units. The engine can switch between different computation types (correlation vs. convolution) and adjust parameters such as tile sizes, kernel dimensions, and computation precision in real-time based on the specific algorithm requirements, enabling flexible adaptation to different applications.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If software solutions are used for correlation and convolution computations, then hardware flexibility is improved, but computation performance deteriorates due to overhead

Engineering Contradiction:
Improvehardware flexibilityVSAvoidcomputation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a hybrid intermediary layer between general-purpose software and the execution hardware. This intermediary is the configurable correlation and convolution engine, which acts as a dedicated acceleration unit. The engine receives computation requests from software, translates them into optimized hardware operations, and executes them with minimal overhead while maintaining flexibility through software-controlled configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If dynamic algorithm adjustments are implemented, then adaptability to different applications is improved, but computational complexity increases

Engineering Contradiction:
Improvealgorithm flexibilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the computational task into distinct functional units within the engine, each specialized for specific operations (e.g., pixel extraction, multiplication, accumulation, normalization). This segmentation allows the system to handle complex dynamic algorithms by composing simple, dedicated functional units rather than requiring a monolithic complex processor, thereby managing computational complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9760966B2Parallel processor with integrated correlation and convolution engine
Publication Date: 2017.09.12 NVIDIA CORP
  • US9760966B2 patent drawing
  • US9760966B2 patent drawing
  • US9760966B2 patent drawing

AI summary

A system and method for performing computer algorithms. The system includes a graphics pipeline operable to perform graphics processing and an engine operable to perform at least one of a correlation determination and a convolution determination for the graphics pipeline. The graphics pipeline is further operable to execute general computing tasks. The engine comprises a plurality of functional units operable to be configured to perform at least one of the correlation determination and the convolution determination. In one embodiment, the engine is coupled to the graphics pipeline. The system further includes a configuration module operable to configure the engine to perform at least one of the correlation determination and the convolution determination.