GPU Thread Cancellation API for Duplicate Work Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU thread scheduling technologies fail to address the inefficiencies of GPU thread scheduling, leading to wasted resources and duplicate processing.

Innovation Solution

Implementing an application programming interface (API) to allow running threads to request cancellation of pending threads, confirm cancellation completion, and acquire starting dimensions for new threads, thereby optimizing GPU thread scheduling to minimize resource wastage and prevent duplicate processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPU thread scheduling allows separate threads to process work independently, then processing throughput increases, but resource wastage and duplicate processing occur

Engineering Contradiction:
Improveprocessing throughputVSAvoidresource wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by having running threads request cancellation of pending threads before the pending threads actually execute. This allows the scheduler to proactively prevent duplicate processing by checking if a thread is about to be launched and cancelling it if the work is already being processed, thereby avoiding resource wastage while maintaining throughput

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements feedback mechanisms where running threads can request cancellation of pending threads based on real-time workload status. The scheduler receives feedback about actual thread execution state and adjusts scheduling decisions accordingly, preventing duplicate processing while maintaining efficient resource utilization

Inventive Principle:
Principle #23Feedback

2Device complexity

If GPU threads are scheduled with simple queueing, then implementation complexity is low, but latency increases during task transitions

Engineering Contradiction:
Improvescheduling implementation complexityVSAvoidtask transition latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by allowing running threads to request cancellation of pending threads in advance. This enables smoother task transitions by proactively managing thread lifecycle before actual execution begins, reducing transition latency without significantly increasing implementation complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system introduces dynamic elements where thread scheduling decisions are made based on real-time requests from running threads. The system dynamically adjusts thread cancellation and allocation based on actual workload conditions, reducing transition latency while maintaining manageable complexity through API-based control

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If GPU threads can request cancellation of pending threads, then resource utilization improves, but scheduling control complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling control complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The invention introduces an intermediary layer in the form of an application programming interface (API) that mediates between running threads and the scheduler. This API provides standardized functions for requesting thread cancellation and checking dimensions, improving resource utilization efficiency while containing scheduling control complexity within a well-defined interface layer

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If GPU threads check cancellation status before processing, then duplicate processing is prevented, but processing speed decreases

Engineering Contradiction:
Improveduplicate processing preventionVSAvoidthread processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary cancellation requests and status checks before threads begin processing work. By establishing thread cancellation status in advance through the API interface, the system prevents duplicate processing while minimizing the time required for status verification, as the check occurs before the main processing loop begins

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250390337A1Application programming interface to indentify dimensions of threads
Publication Date: 2025.12.25 NVIDIA CORP
  • US20250390337A1 patent drawing
  • US20250390337A1 patent drawing
  • US20250390337A1 patent drawing

AI summary

Apparatuses, systems, and techniques to cancel pending GPU thread work to allow said work to be assumed by running thread clusters. In at least one embodiment, processors comprising one or more circuits to perform an application programming interface (API) to indicate one or more software threads that have been prevented from being performed by one or more processors.