Graphics Instruction Instrumentor for Execution Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in accurately profiling graphics execution on graphics processors due to timing knowledge gaps between graphics processor environments and other computing processors, hindering precise targeting and performance improvement of graphics instructions.

Innovation Solution

A graphics instruction instrumentor and profiler system that inserts instrumentation instructions into graphics instruction buffers to collect timestamp and interrupt data, allowing for precise profiling of execution times and performance analysis within the graphics processor environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a developer uses another computing processor to poll for graphics execution information, then the developer can obtain execution information, but the timing knowledge is lost and measurement precision deteriorates

Engineering Contradiction:
Improveexecution informationVSAvoidtiming knowledge
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary mechanism (instrumentation instructions and timestamp storage) that bridges the graphics processor and the polling processor. The graphics processor executes instrumentation instructions that store timestamps and execution information in accessible memory locations, allowing the polling processor to retrieve accurate timing data without directly interfering with the graphics execution timeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies preliminary action by having the graphics processor store execution information and timestamps in advance during normal execution. This pre-stored information is then available for later retrieval and analysis by the polling processor, eliminating the need for real-time intervention that would disrupt timing accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If instrumentation instructions are inserted into graphics instruction buffers, then profiling precision is improved, but device complexity increases

Engineering Contradiction:
Improveprofiling precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the profiling functionality into distinct components: instrumentation instructions embedded in the graphics code, timestamp storage mechanisms, and retrieval/analysis systems. This segmentation allows each component to be independently optimized and managed, reducing overall system complexity while maintaining high profiling precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The graphics processor serves itself by executing instrumentation instructions that automatically capture its own execution information and store it in accessible memory. This self-service approach eliminates the need for external monitoring hardware or complex intervention mechanisms, thereby improving precision without proportionally increasing device complexity.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If timestamp storage instructions are executed by the graphics processor, then execution time measurement is improved, but productivity decreases due to additional instructions

Engineering Contradiction:
Improveexecution time measurementVSAvoidexecution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements partial action by selectively inserting instrumentation instructions only at specific points in the graphics code where profiling information is needed, rather than instrumenting every instruction. This selective approach captures sufficient execution time data for meaningful profiling while minimizing the overhead impact on overall execution productivity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3234764B1Instrumentation of graphics instructions
Publication Date: 2019.10.02 INTEL CORP
  • EP3234764B1 patent drawingFigure 1
  • EP3234764B1 patent drawingFigure 2
  • EP3234764B1 patent drawingFigure 3

AI summary

A graphics instruction instrumentor ("GII") and a graphics profiler ("GP") are described. The GII (250) may facilitate profiling of execution of graphics instructions by one or more graphics processors. The GII (250) may identify target graphics instructions for which execution profile information is desired. The GII (250) may store instrumentation graphics instructions in a graphics instruction buffer (100). The instrumentation graphics instructions may facilitate the GP (290) in collecting graphics profile information. For example, timestamp-storage instructions may be used to store timestamps before and after execution of the target graphics instructions. The GII (250) also may store an interrupt-generation instruction (170) to cause an interrupt to be sent to the GP (290) so that the GP (290) may begin collection of graphics profile data. The GII (250) may store an event-wait instruction (180) to pause the graphics processors (205) until an event is received.