Graphics Driver Runtime Command Dispatch Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics drivers are limited in optimizing graphics processing unit (GPU) performance due to their reliance on applications for low-level optimizations, leading to inefficient and costly graphics processing and rendering.

Innovation Solution

A novel framework and methodology that enables the graphics driver to perform high and low-level optimizations by utilizing underlying hardware features not exposed through the application programming interface (API), allowing for dynamic and runtime transformation of command dispatches, such as reducing, increasing, combining, or rerouting them for improved rendering efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications implement low-level optimization algorithms for each GPU, then graphics processing performance can be optimized, but system complexity and development effort increase significantly

Engineering Contradiction:
Improvegraphics processing performanceVSAvoidoptimization implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a graphics driver as an intermediary layer between the application and the GPU hardware. The driver contains optimization algorithms that automatically transform and optimize graphics commands without requiring application developers to implement complex low-level optimizations. This mediator approach resolves the contradiction by providing performance optimization while keeping application complexity low.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The graphics driver performs self-service by automatically optimizing its own command dispatches to the GPU. The system uses runtime analysis and transformation of graphics commands to improve performance without external intervention or complex application-level optimizations. This self-optimizing capability resolves the contradiction by achieving high performance through automated driver-level optimizations rather than complex application implementations.

Inventive Principle:
Principle #25Self-service

2Productivity

If graphics driver performs dynamic runtime transformation of commands, then rendering efficiency improves, but driver complexity and computational overhead increase

Engineering Contradiction:
Improverendering efficiencyVSAvoiddriver transformation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by analyzing and transforming graphics commands at runtime before they are executed by the GPU. The driver performs command dispatch transformation, optimization, and preparation in advance, allowing the GPU to execute optimized commands efficiently. This preliminary transformation resolves the contradiction by improving rendering efficiency through proactive command optimization while managing driver complexity through systematic transformation routines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the graphics driver adaptive and flexible in its command transformation approach. The driver dynamically analyzes command streams, identifies optimization opportunities, and applies transformations based on runtime conditions and GPU capabilities. This dynamic adaptation resolves the contradiction by achieving high rendering efficiency through flexible runtime optimization while keeping the driver architecture manageable through modular transformation techniques.

Inventive Principle:
Principle #15Dynamics

3Speed

If applications optimize graphics commands for specific GPUs, then processing speed improves, but portability and compatibility across different GPUs decrease

Engineering Contradiction:
Improvegraphics processing speedVSAvoidGPU compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by creating a graphics driver optimization layer that works across multiple GPU types and architectures. The driver contains generic optimization algorithms and transformation techniques that adapt to different GPU capabilities while maintaining consistent performance improvements. This universal approach resolves the contradiction by achieving high processing speed through driver-level optimizations that are compatible across multiple GPU platforms without requiring application-specific customization for each GPU type.

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

Data Source

PatentUS10796397B2Facilitating dynamic runtime transformation of graphics processing commands for improved graphics performance at computing devices
Publication Date: 2020.10.06 INTEL CORP
  • US10796397B2 patent drawing
  • US10796397B2 patent drawing
  • US10796397B2 patent drawing

AI summary

A mechanism is described for facilitating dynamic runtime transformation of graphics processing commands for improved graphics performance on computing devices. A method of embodiments, as described herein, includes detecting a command stream associated with an application, where the command stream includes dispatches. The method may further include evaluating processing parameters relating to each of the dispatches, where evaluating further includes associating a first plan with one or more of the dispatches to transform the command stream into a transformed command stream. The method may further include associating, based on the first plan, a second plan to the one or more of the dispatches, where the second plan represents the transformed command stream. The method may further include executing the second plan, where execution of the second plan includes processing the transformed command stream in lieu of the command stream.