Indirect Draw Fetch Accelerator for Low-Latency Graphics Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional draw indirect fetching methods in graphics processing suffer from inefficiencies due to unsynchronized fetches, leading to memory bottlenecks, latency, and reduced processing throughput, particularly in cases of multiple independent fetches and pipeline resets.

Innovation Solution

Implementing a fetch accelerator that independently fetches data structures indicated by a pre-fetch processor, eliminating redundant requests and synchronizing data access for micro engines, allowing for aligned or unaligned data structures to be processed with equivalent performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple independent fetches are used for pre-fetch processor and micro engine processor, then data can be fetched in parallel, but memory bandwidth is exceeded and bottlenecks occur

Engineering Contradiction:
Improvedata fetching speedVSAvoidmemory bandwidth
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent combines multiple independent fetch operations into a single unified fetch request. The pre-fetch processor and micro engine processor share a common fetch buffer, allowing them to coordinate their data requests and merge multiple fetch operations into one, thereby reducing memory bandwidth consumption while maintaining parallel processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The fetch buffer is designed to serve multiple functions: it acts as a shared resource for both the pre-fetch processor and micro engine processor, enabling a single fetch operation to satisfy data requirements of multiple processing units simultaneously, thus optimizing memory bandwidth utilization.

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

2Ease of operation

If separate fetch operations are performed for pre-fetch processor and micro engine processor, then each processor can access data independently, but processing latency increases due to redundant fetches

Engineering Contradiction:
Improveindependent data accessVSAvoidprocessing latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a preliminary coordination mechanism where the pre-fetch processor and micro engine processor communicate their data requirements in advance through a shared fetch buffer. This allows the system to prepare and coordinate fetch operations beforehand, eliminating redundant fetches and reducing processing latency while preserving independent data access capabilities.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If conventional draw indirect fetching is used with indirect buffers, then system security and reliability are enhanced, but processing throughput is reduced due to fetch bottlenecks

Engineering Contradiction:
Improvesystem securityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the fetch operations of multiple processing units into a single coordinated request, reducing the total number of memory access operations. This maintains the security benefits of indirect buffering while eliminating the throughput penalties associated with multiple independent fetches, as the merged fetch operation reduces memory bandwidth consumption and bottlenecks.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12493470B2Accelerated draw indirect fetching
Publication Date: 2025.12.09 ADVANCED MICRO DEVICES INC
  • US12493470B2 patent drawing
  • US12493470B2 patent drawing
  • US12493470B2 patent drawing

AI summary

Techniques for implementing accelerated draw indirect fetching are disclosed. A fetch accelerator enables streamlined data fetching by looping internally and filling a draw queue for a micro engine. By using a dedicated fetch accelerator rather than processing data fetches separately and individually using a conventional processor, significant processing overhead is eliminated and computational latency is reduced. Additionally, different types of aligned or unaligned data structures are usable with equivalent or nearly equivalent performance.