Multi-Mode GPU Profiling via Binary Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU profiling systems are inefficient and resource-intensive, as they typically allow only single-mode profiling, require multiple runs to collect different types of profiling data, and incur significant overhead, making it difficult to analyze complex and computationally intensive GPU applications effectively.

Innovation Solution

A multi-mode profiling protocol that enables selection of instrumentation types on a per-shader or per-command basis, allowing for dynamic profiling configurations and reducing redundant compilation time by generating a single multi-mode instrumented binary code that can execute different profiling modes without recompiling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If single-mode profiling is used, then profiling overhead is reduced, but multiple profiling runs are required to collect different types of data

Engineering Contradiction:
Improveprofiling overheadVSAvoiddata collection efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements a multi-mode profiling system where a single instrumented binary code can execute multiple profiling modes (cycle counting, trace path analysis, data generation profiling) without requiring separate binaries or recompilation. The system uses mode selection mechanisms to activate different profiling instruments within the same codebase, allowing one profiling tool to serve multiple data collection purposes simultaneously.

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

Solution Approach 2:

The profiling system is divided into independent instrumentation modes that can be selectively activated. Each profiling mode (cycle counting, trace path, data generation) operates as a separate instrumentation layer within the unified binary, allowing the system to segment profiling functions while maintaining overall integration. This enables selective profiling of specific operations without affecting other profiling capabilities.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If multiple profiling runs are executed, then comprehensive profiling data is collected, but compilation time and resource consumption increase

Engineering Contradiction:
Improveprofiling data completenessVSAvoidcompilation time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary instrumentation of the binary code once to create a universal instrumented binary that contains all possible profiling modes. This preliminary action of instrumenting the code a single time with multiple profiling capabilities embedded eliminates the need for repeated compilation across multiple profiling runs, while still enabling collection of comprehensive profiling data through mode selection.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If comprehensive instrumentation is applied, then all profiling modes can be executed, but execution overhead increases

Engineering Contradiction:
Improveprofiling mode flexibilityVSAvoidexecution overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system implements comprehensive instrumentation with all profiling modes built into the binary, but only activates the necessary profiling modes for each specific profiling run. This partial execution approach ensures that while the binary contains all possible instrumentation (excessive preparation), only the required portion executes during each profiling operation, minimizing unnecessary overhead while maintaining full versatility when needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10922779B2Techniques for multi-mode graphics processing unit profiling
Publication Date: 2021.02.16 INTEL CORP
  • US10922779B2 patent drawing
  • US10922779B2 patent drawing
  • US10922779B2 patent drawing

AI summary

Techniques and apparatus for profiling graphics processing unit (GPU) processes using binary instrumentation are described. In one embodiment, for example, an apparatus may include at least one memory comprising instructions and a processor coupled to the at least one memory. The processor may execute the instructions to determine a plurality of profiling modes for profiling an operating process of a graphics processing unit (GPU) application, access original binary code for the GPU application, and generate a multi-mode instrumented binary code comprising a plurality of instrumentation modes, each of the plurality of instrumentation modes corresponding to at least one of the plurality of profiling modes. Other embodiments are described.