Adaptive Heterogeneous Profiling for CPU-GPU Bottleneck Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application profiling tools are computationally expensive and time-consuming, capturing large amounts of unnecessary data, which hinders developers' ability to quickly optimize software applications.

Innovation Solution

Adaptive Application Profiling Tool (AAPT) dynamically collects and filters performance data using hardware counters on CPU and GPU, allowing for targeted data collection based on dynamic criteria, reducing overhead and providing a comprehensive view of application performance across both processing units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing profiling tools capture comprehensive performance data from all processors, then measurement precision is improved, but loss of time increases due to processing large amounts of unnecessary data

Engineering Contradiction:
Improveprofiling data completenessVSAvoiddata processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the monolithic profiling approach into processor-type-specific profiling. Different profiling configurations are applied to different processor types (CPU vs. GPU), collecting only the relevant performance metrics for each. This segmentation reduces the total volume of profiling data while maintaining comprehensive coverage of each processor type's critical performance characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selectively collecting only the necessary performance metrics for each processor type rather than capturing all possible data. For CPU, specific metrics like instruction cache misses are collected, while for GPU, different metrics like shader engine utilization are collected. This partial collection approach reduces data volume while maintaining sufficient profiling precision.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If existing profiling tools collect all performance metrics, then measurement precision is improved, but computational resource consumption increases

Engineering Contradiction:
Improveperformance data accuracyVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent divides the profiling workload into processor-type-specific segments, each with its own optimized metric collection strategy. This segmentation reduces the computational overhead by avoiding the collection and processing of irrelevant metrics for each processor type, while maintaining accurate measurement of the relevant performance characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the profiling parameters dynamically based on processor type. Different sets of performance counters and metrics are activated for CPU versus GPU profiling. This parameter adaptation reduces computational resource consumption by focusing measurement efforts on the most relevant metrics for each processor architecture.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If existing profiling tools capture detailed data from heterogeneous processors, then adaptability is improved, but device complexity increases due to managing multiple processor types

Engineering Contradiction:
Improvemulti-processor supportVSAvoidprofiling system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent manages heterogeneous processor profiling by segmenting the system into processor-type-specific profiling modules. Each module is optimized for its target processor type (CPU or GPU), simplifying the management of complexity while maintaining adaptability to multiple processor architectures through a unified heterogeneous profiling framework.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal profiling framework that can handle multiple processor types through a common interface and architecture. This multi-functional approach allows the system to adapt to different processor types without proportionally increasing complexity, as the core profiling infrastructure remains consistent while only the specific metric collections vary by processor type.

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

Data Source

PatentUS12536088B2Adaptive heterogeneous application profiling
Publication Date: 2026.01.27 ADVANCED MICRO DEVICES INC
  • US12536088B2 patent drawing
  • US12536088B2 patent drawing
  • US12536088B2 patent drawing

AI summary

Techniques are described for adaptive application profiling, such as for adaptively collecting profiling runtime data for an application running on heterogeneous processing architectures. A first set of profiling data is collected from a first set of tracking circuitry during execution of an application by one or more processors. During the execution of the application and based on the first set of profiling data, a second set of tracking circuitry is determined for use in collecting additional profiling data for the application, the second set of tracking circuitry being distinct from the first set of tracking circuitry. A second set of runtime profiling data is collected from the second set of tracking circuitry.