GPU Thread Isolation for Accurate Fault Reporting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor resource assignment methods, particularly in GPUs, result in idle resources and fail to differentiate between faults in parallel applications, leading to inefficient operation and inaccurate fault reporting.

Innovation Solution

Implementing a system that assigns exclusive GPU processing resources to applications, tracks these assignments, and allows for selective stopping of threads based on errors, ensuring accurate fault reporting and minimizing downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPU processing resources are assigned to multiple parallel applications, then resource utilization increases, but fault reporting accuracy deteriorates because faults cannot be differentiated between applications

Engineering Contradiction:
Improveresource utilizationVSAvoidfault reporting accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments GPU processing resources into exclusive assignments for each application. By dividing the resource pool and assigning specific resources to specific applications, the system maintains the ability to differentiate and report faults accurately while still allowing multiple applications to run in parallel. This segmentation resolves the contradiction by enabling both resource utilization and fault reporting accuracy to coexist.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If exclusive GPU processing resources are assigned to applications, then fault reporting accuracy improves, but resource idle time increases

Engineering Contradiction:
Improvefault reporting accuracyVSAvoidresource idle time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements dynamic resource assignment where exclusive resources can be reallocated between applications based on runtime conditions. When an application finishes or reduces its resource needs, the system can dynamically reassign those resources to other applications, minimizing idle time while maintaining exclusivity for accurate fault reporting. This dynamic approach resolves the contradiction between fault reporting accuracy and resource utilization efficiency.

Inventive Principle:
Principle #15Dynamics

3Productivity

If threads are selectively stopped based on errors, then operational efficiency improves by isolating faults, but system complexity increases due to tracking and management requirements

Engineering Contradiction:
Improveoperational efficiencyVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a thread manager as an intermediary component that handles the complexity of tracking and managing thread assignments. This intermediary layer abstracts the complexity away from the applications themselves, allowing them to focus on their core functionality while the manager handles error isolation and thread termination. The intermediary resolves the contradiction by centralizing the management complexity in a dedicated component rather than distributing it throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250355757A1Identifying thread errors
Publication Date: 2025.11.20 NVIDIA CORP
  • US20250355757A1 patent drawing
  • US20250355757A1 patent drawing
  • US20250355757A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform exclusive assignment of processing resources, during operation, to operating applications to allow for exclusive fault reporting between applications. In at least one embodiment, processors comprising one or more circuits to cause performance of one or more threads corresponding to one or more respective kernels to be selectively stopped based, at least in part, on at least one of the one or more threads encountering an error.