Static Instruction Decoupling for Compute Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing accelerator architectures, such as fully homomorphic encryption (FHE) and artificial intelligence (AI), face challenges in maximizing compute throughput due to bandwidth constraints and inefficient data movement between memory and compute resources.

Innovation Solution

The use of static instruction decomposition (SID) to separate monolithic programs into multiple threads, each responsible for specific data movement or compute tasks, allowing for simultaneous execution of threads with different resource requirements, and employing low overhead synchronization primitives to manage dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data movement instructions and compute instructions are executed in a single monolithic thread, then instruction sequencing is simple, but compute throughput is limited due to bandwidth constraints and data movement bottlenecks

Engineering Contradiction:
Improvecompute throughputVSAvoidinstruction queue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides a single monolithic instruction stream into multiple separate threads: data movement threads that handle memory-to-cache and cache-to-register transfers, and compute threads that execute mathematical operations. Each thread type has its own dedicated instruction queue, allowing independent optimization and execution. This segmentation resolves the contradiction by enabling higher compute throughput through parallel execution while managing complexity through specialized queue structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of thread-level parallelism by organizing instructions into multiple concurrent threads rather than a single sequential stream. This dimensional change from 1D sequential execution to 2D multi-threaded execution space allows data movement and compute operations to proceed simultaneously, dramatically improving throughput while the hardware manages the additional complexity through structured queue organization.

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

2Loss of time

If prefetching is used to address memory latency, then data availability improves, but memory bandwidth is wasted on unused data

Engineering Contradiction:
Improvememory latencyVSAvoidmemory bandwidth waste
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent implements self-service data movement where compute threads automatically generate their own data movement instructions based on their actual computational needs. Rather than relying on aggressive prefetching that may fetch unused data, each compute thread requests exactly the data it requires, eliminating bandwidth waste while maintaining data availability through on-demand fetching.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback mechanisms where compute threads monitor their data requirements and dynamically generate appropriate data movement instructions. This feedback loop ensures that memory bandwidth is used efficiently by fetching only the data actually needed for upcoming computations, resolving the contradiction between reducing latency and avoiding bandwidth waste.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple threads with different resource requirements are executed simultaneously, then compute throughput increases, but synchronization overhead increases

Engineering Contradiction:
Improvecompute throughputVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges data movement operations and compute operations into a unified multi-threaded execution model where both thread types can proceed simultaneously. By integrating these previously separate operations into a coordinated multi-threaded system with shared resource management, the patent achieves higher throughput while controlling synchronization overhead through efficient resource allocation mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250110735A1Static instruction decoupling (SID) for data movement and compute
Publication Date: 2025.04.03 INTEL CORP
  • US20250110735A1 patent drawing
  • US20250110735A1 patent drawing
  • US20250110735A1 patent drawing

AI summary

Techniques for static instruction decoupling for data movement and computer are described. In some examples, hardware support at least includes a plurality of instruction queues to store instructions, wherein each instruction queue of the plurality of instruction queues is dedicated to a separate thread; a local memory to store instructions and/or data for a first thread; a scratchpad memory, coupled to the local memory, to store instructions and/or data for a second thread; and execution resources, coupled to the scratchpad memory, to execute one or more mathematic and/or logical instructions for a third thread.