Spatial Accelerator Runtime Translation for Idle Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern spatial accelerators often sit idle due to the need for specialized compilers and software, limiting their utilization in heterogeneous CPUs, leading to inefficiencies in compute and memory resources.

Innovation Solution

A hardware controller that builds and maintains a dataflow graph-based architecture model to map instructions from CPUs to spatial accelerators, optimizing instruction latency and reconfiguring the accelerator using runtime performance data, enabling efficient execution of code regions and repurposing idle resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If spatial accelerators use specialized compilers and software stacks, then execution efficiency is improved, but device complexity and ease of operation deteriorate

Engineering Contradiction:
Improveexecution efficiencyVSAvoidspecialized compilers and software stacks
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a compilerless runtime system as an intermediary layer between the CPU and spatial accelerator. This runtime automatically translates high-level code regions into spatial accelerator instructions without requiring specialized compilers, thereby maintaining execution efficiency while eliminating the need for complex software stacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The spatial accelerator is designed to execute a universal instruction set that can handle multiple application domains without requiring domain-specific programming languages or compilers. This multi-functionality approach allows the same hardware architecture to serve general-purpose computing tasks while maintaining high efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If spatial accelerators require specialized programming, then domain-specialized execution is achieved, but ease of operation deteriorates

Engineering Contradiction:
Improvedomain-specialized executionVSAvoidutilization by all applications
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The compilerless runtime system performs automatic code analysis and transformation, enabling the spatial accelerator to execute domain-specialized workloads without manual intervention. The system automatically identifies suitable code regions, translates them into optimized spatial instructions, and manages resource allocation, making the accelerator easy to operate for all applications.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The runtime system acts as a mediator that translates high-level application code into domain-specific spatial accelerator instructions automatically. This eliminates the need for developers to learn specialized programming languages while still achieving domain-specialized execution through automatic code transformation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If spatial accelerators are not explicitly programmed, then ease of operation is improved, but productivity deteriorates due to idle resources

Engineering Contradiction:
Improveutilization without explicit programmingVSAvoidcompute and memory resource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The spatial accelerator system automatically identifies and executes suitable code regions without explicit programming by the user. The compilerless runtime monitors CPU execution, detects candidate code regions, and automatically offloads them to the spatial accelerator, ensuring high resource utilization while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the runtime continuously monitors CPU execution performance and accelerator resource availability. Based on this feedback, it dynamically selects code regions for acceleration and adjusts resource allocation, thereby maximizing productivity without requiring explicit programming.

Inventive Principle:
Principle #23Feedback

4Speed

If hardware mapping of instructions to planar grid is implemented, then translation speed is improved, but device complexity increases

Engineering Contradiction:
Improveinstruction translation speedVSAvoidhardware mapping mechanism
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis and organization of instructions into code regions before translation. By pre-identifying suitable code regions and organizing their instructions, the hardware mapping mechanism can operate more efficiently on structured data, improving translation speed while managing complexity through systematic preprocessing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240385886A1Dynamic translation and optimization for spatial acceleration architectures
Publication Date: 2024.11.21 THE BOARD OF TRUSTEES OF THE UNIV OF ILLINOIS
  • US20240385886A1 patent drawing
  • US20240385886A1 patent drawing
  • US20240385886A1 patent drawing

AI summary

A method for translation and optimization for acceleration and its circuit are disclosed. The method includes: detecting a code region executing on a central processing unit (CPU) core for acceleration, the code region comprising a plurality of instructions; mapping, in hardware, the plurality of instructions in linear order to a planar grid for a spatial accelerator; configuring the spatial accelerator based on the planar grid; and transferring control to the spatial accelerator to execute the code region. Other aspects, embodiments, and features are also claimed and described.