Token-Based Handshake for CPU-GPU Graphics Command Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing devices, the handoff of graphics data between the CPU and GPU often involves non-coherent and coherent memory spaces, leading to uncertainties about the visibility of command lists in coherent memory, which can result in incomplete or incorrect graphics processing.

Innovation Solution

A token-based handshake mechanism is implemented to ensure that command lists are properly pushed from non-coherent memory to DRAM, using a graphics steering component that issues tokens to confirm the availability of graphics data in coherent memory for processing by the GPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If command lists are sent through non-coherent memory (fabric) to DRAM, then graphics data transfer is enabled, but visibility and ordering of commands in coherent memory cannot be guaranteed

Engineering Contradiction:
Improvegraphics data transfer speedVSAvoidcommand list visibility reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

A token-based intermediary mechanism is introduced between the non-coherent memory path and coherent memory path. The graphics steering component acts as a mediator that receives tokens indicating command list completion in non-coherent memory and translates them into coherent memory notifications, ensuring reliable visibility without sacrificing transfer speed

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

A feedback loop is established where the graphics steering component monitors the completion of command list pushes to non-coherent memory and provides feedback through token comparison. When tokens match, it confirms the command list is visible in coherent memory, creating a reliable synchronization mechanism

Inventive Principle:
Principle #23Feedback

2Ease of operation

If semaphores are used for CPU-GPU handoff, then multi-tasking control is achieved, but additional memory access steps are required

Engineering Contradiction:
Improvemulti-tasking controlVSAvoidmemory access complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The semaphore mechanism is merged with the token-based notification system. The same token comparison mechanism serves both as a completion indicator for command lists and as a semaphore for GPU scheduling decisions, reducing the number of separate memory access operations required

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The token comparison mechanism is designed to serve multiple functions: it tracks command list completion, provides synchronization feedback, and acts as a semaphore for GPU work scheduling. This multi-functional approach simplifies the overall system by eliminating the need for separate semaphore data structures

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

3Productivity

If command lists are pushed to non-coherent memory before GPU scheduling, then data flow is enabled, but ordering and timing cannot be guaranteed

Engineering Contradiction:
Improvegraphics processing throughputVSAvoidcommand execution ordering
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary actions by pushing the command list to non-coherent memory ahead of time while simultaneously updating the token. The graphics steering component then verifies completion before GPU scheduling, ensuring correct ordering is established in advance without blocking productivity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The mechanical memory ordering guarantees are replaced with a software-based token comparison mechanism. Instead of relying on hardware-enforced ordering between non-coherent and coherent memory, the system uses logical token verification to establish correct execution ordering, enabling higher throughput without sacrificing precision

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9886934B2Ordering mechanism for offload graphics scheduling
Publication Date: 2018.02.06 INTEL CORP
  • US9886934B2 patent drawing
  • US9886934B2 patent drawing
  • US9886934B2 patent drawing

AI summary

Described herein are technologies related to a ensuring that graphics commands and graphics context are offloading and scheduled for consumption as the commands and graphics context are sent from coherent to non-coherent memory/fabric in a “processor to processor” handoff or transaction.