Buffer Management for Plug-in Architectures in Computation Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer vision techniques incur latency due to the inefficient management of input and output buffers in processing pipelines, where buffers are allocated and returned based on the completion of operations rather than data availability, leading to delays between data input, processing, and output.

Innovation Solution

The proposed solution involves managing plug-in buffers in computation graph structure frameworks like OpenVX by allocating, monitoring, and managing buffer memory such that input buffers are acquired when data is available for processing and returned when the last operation executes, and output buffers are acquired when the last operation is ready to process and output data is stored, thereby reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If buffers are allocated and returned based on operation completion, then resource management is simplified, but processing latency increases

Engineering Contradiction:
Improvebuffer management complexityVSAvoidprocessing latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by allocating output buffers in advance before the processing operation completes. The buffer management unit allocates an output buffer before the vision node operation finishes, so that when the operation completes, the data can be immediately written to the pre-allocated buffer without waiting for buffer allocation, thereby reducing latency while maintaining simplified management through automated buffer tracking

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A buffer management unit is introduced as an intermediary component that mediates between the vision nodes and buffer resources. This intermediary tracks the state of buffers, automatically allocates and deallocates them based on operation status, and coordinates data flow between input and output buffers, thus reducing latency without significantly increasing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If buffers are held until the last operation executes, then data consistency is ensured, but processing speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The buffer management system dynamically adjusts buffer allocation and deallocation timing based on the actual execution state of operations. Instead of static holding until the last operation, the system dynamically deallocates input buffers as soon as their data is consumed and allocates output buffers when ready, optimizing both data consistency and processing speed through adaptive buffer management

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12113946B2Buffer management for plug-in architectures in computation graph structures
Publication Date: 2024.10.08 ADVANCED MICRO DEVICES INC
  • US12113946B2 patent drawing
  • US12113946B2 patent drawing
  • US12113946B2 patent drawing

AI summary

A computer vision processing device is provided which comprises memory configured to store data and a processor. The processor is configured to store captured image data in a first buffer and acquire access to the captured image data in the first buffer when the captured image data is available for processing. The processor is also configured to execute a first group of operations in a processing pipeline, each of which processes the captured image data accessed from the first buffer and return the first buffer for storing next captured image data when a last operation of the first group of operations executes.