Kernel Tracing for Heterogeneous Computing Platforms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous computing platforms, the lack of observability in hardware-accelerated kernels complicates debugging and testing due to the high level of automation and abstraction in compilation processes, making it difficult for developers to understand the operational details of kernels executed on programmable integrated circuits.

Innovation Solution

The method involves emulating kernel hardware to generate trace data, comparing signals of the compiled kernel with a database of compiler-generated signals, and determining operational data for individual compute units, allowing for detailed visualization and debugging of kernel operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware acceleration is used in heterogeneous computing platforms, then processing speed and performance are improved, but observability and debuggability of kernel operations deteriorate due to high levels of automation and abstraction

Engineering Contradiction:
Improveprocessing speedVSAvoidobservability
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary system consisting of signal databases and trace data collection mechanisms that bridge the gap between hardware-accelerated kernel execution and developer observability. The intermediary captures compiler-generated signals during kernel execution, stores them in structured databases, and enables detailed analysis without altering the underlying hardware acceleration process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the kernel execution environment by emulating kernel hardware and capturing signal traces. This copying approach allows developers to analyze kernel operations in a simulated environment that mirrors the actual hardware behavior, enabling debugging without direct hardware access or modification.

Inventive Principle:
Principle #26Copying

2Ease of operation

If compilation automation is increased to simplify kernel deployment, then ease of operation is improved, but the ability to understand operational details deteriorates

Engineering Contradiction:
Improvekernel deploymentVSAvoidoperational details
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent performs preliminary actions by establishing signal databases during the compilation phase, before kernel execution. The databases are pre-configured with expected signal patterns and mappings, enabling automatic correlation during runtime without requiring manual setup or intervention. This preliminary preparation preserves operational detail information that would otherwise be lost in automated compilation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms that capture execution signals and feed them back to developers through trace data analysis tools. The system continuously monitors kernel execution, compares actual signals against expected patterns in the database, and provides feedback about operational details including performance metrics and anomaly detection.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If signal tracing is implemented for all compiler-generated signals, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvesignal observationVSAvoidtracing system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the signal tracing system into distinct modular components: signal databases that store expected patterns, trace data collection modules that capture execution signals, and analysis tools that process the data. This segmentation allows each component to be independently optimized and managed, reducing overall system complexity while maintaining comprehensive signal observation capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10740210B1Kernel tracing for a heterogeneous computing platform and data mining
Publication Date: 2020.08.11 XILINX INC
  • US10740210B1 patent drawing
  • US10740210B1 patent drawing
  • US10740210B1 patent drawing

AI summary

Tracing operation of a kernel can include comparing, using a processor, signals of a compiled kernel with a database including compiler generated signals for compute units to determine a list of the signals of the compiled kernel that match the compiler generated signals and generating trace data by emulating the compiled kernel using the processor. The trace data includes values for signals of the compiled kernel collected over time during the emulation. Operational data corresponding to individual compute units of the compiled kernel can be determined from values of the signals of the list within the trace data using the processor. The operational data can be displayed using the processor.