Multi-GPU Rendering Control for Ordered VR Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems lack a method for directing which graphics processing unit (GPU) should render application commands, particularly in virtual reality (VR) rendering scenarios.

Innovation Solution

A method and apparatus are introduced to direct application requests for rendering by utilizing a GPU Control API to determine which processors to execute commands, transmit signals for execution, facilitate information transfer between processors, and render images based on processed information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple GPUs are used for rendering, then rendering performance and throughput are improved, but there is no conventional method for directing which GPU should execute specific commands, leading to coordination complexity

Engineering Contradiction:
Improverendering performanceVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a command queue manager as an intermediary component that receives rendering commands from the application and intelligently distributes them to appropriate GPUs. This mediator handles the complexity of multi-GPU coordination, allowing individual GPUs to execute commands independently while maintaining overall system coherence and performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If commands are distributed to multiple GPUs independently, then processing speed is improved, but maintaining command sequence and synchronization becomes difficult

Engineering Contradiction:
Improveprocessing speedVSAvoidcommand sequence integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The command queue manager performs preliminary actions by pre-processing and organizing rendering commands before distribution. It tags and sequences commands with metadata indicating their execution order and dependencies, ensuring that even when executed in parallel across multiple GPUs, the final rendered output maintains the correct temporal and spatial sequence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where completion status and synchronization information from multiple GPUs are collected and used to coordinate subsequent command execution. This feedback loop ensures that commands dependent on previous rendering operations are executed only after their prerequisites are complete, maintaining sequence integrity throughout the rendering pipeline.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If a single stream command is used through graphics API, then system simplicity is maintained, but the ability to direct specific GPUs for rendering is lost

Engineering Contradiction:
Improvesystem simplicityVSAvoidGPU selection capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The command queue manager is designed with multi-functionality, serving both as a simple pass-through when a single GPU is used and as an intelligent distributor when multiple GPUs are available. It automatically detects the system configuration and adapts its behavior accordingly, maintaining ease of operation while enabling GPU selection capability when needed.

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

Data Source

PatentUS12536606B2Method and apparatus for directing application requests for rendering
Publication Date: 2026.01.27 ADVANCED MICRO DEVICES INC
  • US12536606B2 patent drawing
  • US12536606B2 patent drawing
  • US12536606B2 patent drawing

AI summary

A method and system for directing image rendering, implemented in a computer system including a plurality of processors includes determining one or more processors in the system on which to execute one or more commands. A graphics processing unit (GPU) control application program interface (API) determines one or more processors in the system on which to execute one or more commands. A signal is transmitted to each of the one or more processors indicating which of the one or more commands are to be executed by that processor. The one or more processors execute their respective command. A request is transmitted to each of the one or more processors to transfer information to one another once processing is complete, and an image is rendered based upon the processed information by at least one processor and the received transferred information from at least another processor.