Parallel State Pipeline for GPU Configuration Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing pipelines require flushing, which introduces significant delay and limits configuration changes due to the need to finish processing all data before configuration updates can be applied, especially in deep pipelines with many stages.

Innovation Solution

Implementing a separate state pipeline that transmits configuration states in parallel with data, allowing continuous availability and updating of states without flushing the processing pipeline, with multiple data paths to carry unique states and using tags to select appropriate states for each stage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If states are broadcast to the processing pipeline for configuration changes, then the processing pipeline can be configured with new states, but the processing pipeline must be flushed first which introduces significant delay

Engineering Contradiction:
Improveconfiguration change capabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the state transmission path from the data processing path by introducing a separate state pipeline. This allows states to be transmitted independently through dedicated state registers and state multiplexers, separate from the data processing pipeline stages. The configuration states are now transmitted through a parallel path that does not require flushing the data pipeline, thereby resolving the contradiction between configuration adaptability and processing latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces state registers and state multiplexers as intermediary components that buffer and select configuration states independently of the data processing flow. These intermediaries allow new states to be loaded and prepared in advance without blocking data processing, enabling configuration changes to take effect at pipeline boundaries without requiring a flush operation, thus eliminating the time loss while maintaining adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the processing pipeline is deep with many stages, then processing capability is enhanced, but configuration changes become less frequent due to flushing requirements

Engineering Contradiction:
Improveprocessing capabilityVSAvoidconfiguration update frequency
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

By segmenting the configuration transmission into a separate state pipeline independent of the deep data processing pipeline, the patent enables frequent configuration updates without being constrained by the data pipeline depth. Each pipeline stage has its own state register that can be updated independently, allowing configuration changes to propagate through the deep pipeline without requiring complete flushing, thus maintaining both high processing capability and frequent configuration adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The state registers in each pipeline stage allow preliminary loading of configuration states in advance. When a configuration change is needed, the new states are already prepared in the state registers and can be activated immediately at pipeline boundaries without waiting for data to clear the pipeline. This preliminary preparation of states enables frequent configuration updates even in deep pipelines, resolving the contradiction between processing capability and configuration update frequency.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If states are broadcast to all stages for configuration updates, then all stages can be reconfigured, but the entire pipeline must be flushed causing delay

Engineering Contradiction:
Improvepipeline reconfiguration capabilityVSAvoidflush time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the state transmission so that each pipeline stage receives its configuration state independently through dedicated state registers and state multiplexers. Instead of broadcasting states that require complete pipeline flushing, the configuration is segmented into stage-specific state updates that can be applied at pipeline boundaries. This segmentation allows reconfiguration capability while eliminating the need for complete pipeline flush, thereby reducing time loss.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic state selection through state multiplexers that can switch between different state sources (current state or new state) at each pipeline stage. This dynamic mechanism allows configuration updates to be applied selectively and immediately at pipeline boundaries without requiring the entire pipeline to be flushed. The dynamic state switching enables flexible reconfiguration while minimizing disruption to ongoing data processing, resolving the contradiction between reconfiguration capability and flush time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7725688B1System and method for storing states used to configure a processing pipeline in a graphics processing unit
Publication Date: 2010.05.25 NVIDIA CORP
  • US7725688B1 patent drawing
  • US7725688B1 patent drawing
  • US7725688B1 patent drawing

AI summary

States that are used in configuring a processing pipeline are passed down through a separate pipeline in parallel with the data transmitted down through the processing pipeline. With this separate pipeline, the states for configuring any one stage of the processing pipeline are continuously available in the corresponding stage of the state pipeline, and new states for configuring the processing pipeline can be transmitted down the state pipeline without flushing the processing pipeline. The processing pipeline and the separate pipeline for the states can be divided into multiple sections so that the width of the separate pipeline for the states can be reduced.