Neural Signal Processor Multi-Graph Scheduling for Thread Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for executing multiple graphs on processing devices result in significant underutilization of available resources, leading to inefficient and prolonged execution times due to sequential execution of graphs, where one graph is completed before another begins.

Innovation Solution

Simultaneous execution of multiple graphs is achieved by sharing processing threads across graphs and varying graph priorities, allowing each thread to execute available operations from different graphs if no operations are ready on the prioritized graph, thereby optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential execution of graphs is used, then graph execution order is simple to manage, but processing resource utilization is poor and execution time is prolonged

Engineering Contradiction:
Improveexecution speedVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic graph prioritization where thread priorities are not fixed but can be adjusted based on current execution state. The system dynamically switches between sequential and parallel execution modes, and dynamically adjusts thread priorities during execution to optimize resource utilization while managing complexity adaptively

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the execution of multiple graphs by dividing them into phases and operations that can be executed in parallel. By breaking down graphs into smaller executable units and assigning different threads to different graphs with varying priorities, the system achieves parallel execution while maintaining manageable scheduling through structured segmentation

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel execution of multiple graphs is implemented, then resource utilization improves, but scheduling complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs dynamic priority adjustment where thread priorities are adapted during execution based on graph completion status and resource availability. This dynamic approach allows parallel execution with improved resource utilization while avoiding the need for complex static scheduling algorithms

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling system uses self-service mechanisms where threads automatically adjust their behavior based on the execution state of other threads and graphs. The system monitors resource utilization and automatically rebalances thread priorities without external intervention, reducing scheduling complexity while maintaining high resource utilization

Inventive Principle:
Principle #25Self-service

3Loss of time

If thread priorities are varied across graphs, then execution time disparity is reduced, but control complexity increases

Engineering Contradiction:
Improveexecution time disparityVSAvoidcontrol complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic priority adjustment where thread priorities are changed during execution based on the completion status of graphs. This allows the system to reduce execution time disparity by giving higher priority to graphs that are falling behind, while maintaining simple control through rule-based dynamic adjustment rather than complex predictive algorithms

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250370789A1Multi-graph scheduling for efficient use of neural signal processor resources
Publication Date: 2025.12.04 QUALCOMM INC
  • US20250370789A1 patent drawing
  • US20250370789A1 patent drawing
  • US20250370789A1 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques and apparatus for multi-graph execution in a processing system. Embodiments include receiving, by the processing system, a first graph representing operations related to a first machine learning model and a second graph representing operations related to a second machine learning model. Embodiments include prioritizing, by a first shared thread of the processing system, execution-ready operations from the first graph over execution-ready operations from the second graph. Embodiments include prioritizing, by a second shared thread of the processing system, execution-ready operations from the second graph over execution-ready operations from the first graph. Embodiments include executing, by the first shared thread and the second shared thread, respective operations related to the first machine learning model and the second machine learning model based on the prioritizing by the first shared thread and the prioritizing by the second shared thread.