GPU Driver Command Buffer Optimization for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in reducing power consumption and enhancing performance without increasing latency between the CPU and GPU during the rendering process.

Innovation Solution

Implementing a method where the GPU driver sets unused rendering targets to a delayed submission mode and selectively deletes commands associated with these targets from the command buffer based on invalidation instructions, thereby optimizing the rendering process and reducing extraneous operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If all rendering commands are submitted to the GPU without selective deletion, then the rendering process is simple and latency is low, but power consumption increases due to unnecessary rendering operations on unused rendering targets

Engineering Contradiction:
Improvepower consumptionVSAvoidcommand management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs preliminary identification of unused rendering targets before submitting commands to the GPU. The command manager analyzes rendering commands in advance, determines which rendering targets will not be used, and selectively deletes commands associated with these unused targets from the command buffer before GPU submission, thereby preventing unnecessary rendering operations and reducing power consumption

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different handling strategies to different rendering targets based on their usage status. Instead of uniformly processing all rendering commands, the command manager selectively deletes commands only for identified unused rendering targets while preserving commands for used rendering targets, optimizing power consumption without affecting necessary rendering operations

Inventive Principle:
Principle #3Local quality

2Loss of energy

If commands for unused rendering targets are selectively deleted from the command buffer, then power consumption is reduced by avoiding unnecessary rendering operations, but the command management complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidcommand processing time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The command manager performs preliminary analysis of rendering commands to identify unused rendering targets before the GPU execution phase. By determining which commands to delete in advance and removing them from the command buffer beforehand, the system avoids wasting GPU processing time on unnecessary rendering operations, thus reducing overall command processing time while managing the complexity of command analysis

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the GPU processes all rendering commands without selective deletion, then the system operation is simple, but performance is reduced due to extraneous rendering operations

Engineering Contradiction:
Improverendering performanceVSAvoidcommand buffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary identification and deletion of commands for unused rendering targets from the command buffer before GPU submission. This advance processing ensures that the GPU receives only necessary rendering commands, eliminating extraneous rendering operations and improving rendering performance while managing the added complexity through systematic command analysis

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command manager identifies and discards (deletes) commands associated with unused rendering targets from the command buffer. By removing these unnecessary commands before GPU processing, the system recovers computational resources and improves rendering performance by focusing GPU effort only on useful rendering operations

Inventive Principle:
Principle #34Discarding and recovering

4Loss of energy

If commands are selectively deleted based on invalidation instructions, then unnecessary rendering operations are avoided and power consumption is reduced, but the latency between CPU and GPU increases due to additional command management operations

Engineering Contradiction:
Improvepower consumptionVSAvoidCPU-GPU latency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The command manager performs preliminary deletion of commands for unused rendering targets from the command buffer before GPU submission. By completing this filtering operation in advance during command preparation, the system minimizes the time added to the CPU-GPU communication path, thus reducing the impact on latency while still achieving power consumption reduction through elimination of unnecessary rendering operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11636566B2Computing system and methods of operating the computing system
Publication Date: 2023.04.25 SAMSUNG ELECTRONICS CO LTD
  • US11636566B2 patent drawing
  • US11636566B2 patent drawing
  • US11636566B2 patent drawing

AI summary

A method of operating a computing system includes receiving, by a GPU driver included in a CPU of the computing system, a plurality of commands associated with a plurality of rendering targets included in a frame buffer of the computing system, storing the plurality of commands in a command buffer included in the GPU driver, setting, by a command manager included in the GPU driver, at least one unused rendering target among the plurality of rendering targets to a delayed submission mode, and selectively deleting, by the command manager, a command associated with the at least one unused rendering target set to the delayed submission mode from the command buffer based on whether the command includes an instruction to invalidate a rendering result associated with the at least one unused rendering target.