Vision Data Architecture With Async CPU-GPU Memory Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer vision techniques in automated systems face latency issues due to memory allocation and synchronization challenges across multiple processors, which are critical in mission-critical operations like autonomous vehicles.

Innovation Solution

A vision data structure that allocates and maintains memory ranges efficiently across processors, using non-blocking operations and asynchronous data synchronization, allowing synchronization only when necessary, and supporting multiple data formats like NHWC and NCHW to reduce conversion operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory allocation and synchronization operations are performed across multiple processors, then data consistency is maintained, but processing latency increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-allocates memory ranges for vision data in both CPU memory and GPU memory before processing begins. This preliminary action ensures that when synchronization is needed, data can be copied directly to pre-prepared memory locations without allocation delays, maintaining consistency while reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the synchronization operation from the critical processing path by using non-blocking copy operations. The synchronization is performed asynchronously in the background, allowing the main processing to continue without waiting for data consistency to be established, thus reducing perceived latency while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If vision data is synchronized between CPU and GPU memories, then data consistency is ensured, but processing speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent introduces a buffer memory as an intermediary between CPU and GPU. Vision data can be copied to the buffer asynchronously, and processing can proceed independently once data is available. This mediator decouples the synchronization from the processing speed, ensuring consistency without blocking the processing pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system maintains continuous processing by using non-blocking synchronization operations. While data is being synchronized in the background, the processing pipeline continues to execute other operations or processes available data, ensuring that useful actions are never interrupted by synchronization delays.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of manufacture

If memory ranges are reallocated for each vision processing operation, then memory management is simple, but processing efficiency decreases

Engineering Contradiction:
Improvememory management simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

Memory ranges are allocated in advance during system initialization or before batches of processing operations. This preliminary allocation eliminates the need for repeated allocation and deallocation during processing, maintaining simple memory management while significantly improving processing efficiency through reduced overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates universal memory ranges that can be reused across multiple processing operations. Instead of allocating dedicated memory for each operation, the same memory ranges serve multiple purposes and multiple operations, simplifying management while boosting productivity through efficient resource utilization.

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

4Adaptability or versatility

If data format conversion operations are performed, then compatibility between processors is achieved, but processing time increases

Engineering Contradiction:
Improveformat compatibilityVSAvoidconversion time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs data format conversion in advance, before the actual processing operation begins. By converting data to the required format beforehand and storing it in appropriately formatted memory regions, the patent achieves format compatibility without adding conversion time to the critical processing path.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11416959B1Vision architecture
Publication Date: 2022.08.16 ZOOX INC
  • US11416959B1 patent drawing
  • US11416959B1 patent drawing
  • US11416959B1 patent drawing

AI summary

Techniques for maintaining and synchronizing data is a processing pipeline data between multiple processing units to improve a system latency are described herein. For example, the techniques may include determining, in response to an invocation of vision processing on first vision data stored in a first memory range in a first memory associated with a central processing unit (CPU), that second vision data stored in a second memory range in a second memory associated with a graphic processing unit (GPU) is a modified copy of the first vision data. The second vision data may be obtained using a non-blocking operation from the second memory range. The first vision data stored in the first memory range may be replaced with the second vision data obtained from the second memory range. The vision processing may then be performed using the second vision data stored in the first memory.