AI Hardware Control Hierarchy for Asynchronous Thread Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing AI hardware programming methods lack scalability and efficient synchronization mechanisms, leading to suboptimal performance in training and inference tasks.

Innovation Solution

A hierarchical programming model with a control thread hierarchy that allows asynchronous command execution and synchronization between threads, including control threads, compute threads, and memory threads, utilizing shared partitioned memories and synchronization primitives for efficient data management and operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a flat control hierarchy is used for programming AI hardware, then the programming model is simpler to implement, but scalability and performance are limited

Engineering Contradiction:
Improveprogramming model complexityVSAvoidscalability and performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The control hierarchy is segmented into multiple hierarchical levels (root control threads, intermediate control threads, and leaf control threads). Each level manages specific subsets of processing resources, allowing the system to scale by adding more levels or threads at each level without overwhelming a single control structure. This segmentation enables better organization of complex AI workloads while maintaining manageable complexity at each hierarchical level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a two-dimensional flat control structure to a multi-dimensional hierarchical control structure. By adding the vertical dimension of hierarchy levels, the system can manage more processing threads and resources without proportionally increasing the complexity of individual control threads. This dimensional expansion allows scalable performance improvement while keeping each control thread's complexity manageable.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If synchronous execution is used for control threads, then synchronization is easier to manage, but execution efficiency and throughput are reduced

Engineering Contradiction:
Improvesynchronization managementVSAvoidexecution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The hierarchical control threads use feedback mechanisms through command queues and synchronization primitives. Lower-level control threads receive commands from higher-level threads and provide feedback on execution status. This feedback loop enables asynchronous execution where threads can proceed independently when ready, improving throughput while maintaining proper synchronization through structured feedback channels rather than rigid synchronous coordination.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Command queues act as intermediaries between control threads at different hierarchical levels. Instead of direct synchronous interaction, threads communicate through these intermediary queues, allowing asynchronous command passing. The synchronization primitives serve as mediators that coordinate access to shared resources without requiring threads to wait synchronously, thus maintaining ease of synchronization management while enabling efficient asynchronous execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If more control threads are added to improve scalability, then processing capacity increases, but system complexity and coordination overhead increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By segmenting the control hierarchy into multiple levels, the invention allows adding more control threads without proportionally increasing overall system complexity. Each hierarchical level manages a subset of threads, distributing the coordination burden. This segmentation enables processing capacity to scale with thread count while keeping individual control threads and their management complexity manageable through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

4Productivity

If asynchronous execution is enabled for control threads, then execution efficiency improves, but synchronization complexity increases

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

Solution Approach 1:

Synchronization primitives serve as intermediaries that manage asynchronous coordination between control threads. These primitives provide standardized mechanisms for threads to signal completion, request data, and coordinate access to shared resources without requiring complex custom synchronization logic in each thread. This intermediary approach maintains execution efficiency through asynchronous operation while controlling synchronization complexity through reusable, well-defined primitives.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12608225B2Hierarchical programming model for artificial intelligence hardware
Publication Date: 2026.04.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12608225B2 patent drawing
  • US12608225B2 patent drawing
  • US12608225B2 patent drawing

AI summary

A system includes a set of lower-level control threads. The system also includes a higher-level control thread configured to receive a command from a device, generate a set of commands based on the command, and provide the set of commands to a subset of the set of lower-level control threads. A lower-level control thread in the subset of the set of lower-level control threads is configured to instruct, based on a particular command in the set of commands, a subset of a plurality of processing threads to perform a set of operations.