Configurable Spatial Accelerator Predicate Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face challenges in achieving exascale performance and energy efficiency, particularly in executing dataflow graphs, as they struggle with out-of-order scheduling, complex register files, and high energy consumption, making it difficult to meet the demands of high-performance computing within aggressive power budgets.

Innovation Solution

A configurable spatial accelerator (CSA) architecture is introduced, comprising a spatial array of processing elements connected by lightweight communication networks, which directly executes dataflow graphs and utilizes network dataflow endpoint circuits to perform dataflow operations, eliminating the need for triggered instructions and reducing control overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processor architectures are used to execute dataflow graphs, then general-purpose computing capability is maintained, but performance and energy efficiency deteriorate due to out-of-order scheduling overhead, complex register files, and high control overheads

Engineering Contradiction:
ImproveperformanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The processor is segmented into multiple specialized execution units (integer execution unit, floating-point execution unit, vector execution unit) that can operate independently and in parallel. Each execution unit is optimized for specific dataflow operations, eliminating the need for complex out-of-order scheduling and reducing control overheads while maintaining high performance and energy efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor implements dynamic execution pipelines that can adaptively handle different dataflow graph operations. The execution units can dynamically switch between different operational modes (scalar, vector, integer, floating-point) based on the incoming dataflow operations, enabling efficient execution without requiring complex register files or scheduling mechanisms

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If traditional processor architectures with complex register files and out-of-order scheduling are used, then general-purpose computing flexibility is maintained, but device complexity increases leading to higher control overheads and reduced energy efficiency

Engineering Contradiction:
Improvecomputing flexibilityVSAvoidcontrol overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Different execution units are assigned specific specialized functions (integer operations, floating-point operations, vector operations) with optimized local architectures. Each execution unit has its own simplified register file and control logic tailored to its specific function, reducing overall device complexity and control overhead while maintaining computing flexibility through the combination of specialized units

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The complex out-of-order scheduling mechanism and unified register file from traditional processors are extracted and replaced with simpler in-order execution pipelines and separate register files for each execution unit. This extraction of complexity reduces control overheads while the modular arrangement of specialized execution units maintains adaptability for different computing tasks

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11307873B2Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
Publication Date: 2022.04.19 INTEL CORP
  • US11307873B2 patent drawing
  • US11307873B2 patent drawing
  • US11307873B2 patent drawing

AI summary

Systems, methods, and apparatuses relating to unstructured data flow in a configurable spatial accelerator are described. In one embodiment, a configurable spatial accelerator includes a data path having a first branch and a second branch, and the data path comprises at least one processing element; a switch circuit comprising a switch control input to receive a first switch control value to couple an input of the switch circuit to the first branch and a second switch control value to couple the input of the switch circuit to the second branch; a pick circuit comprising a pick control input to receive a first pick control value to couple an output of the pick circuit to the first branch and a second pick control value to couple the output of the pick circuit to a third branch of the data path; a predicate propagation processing element to output a first edge predicate value and a second edge predicate value based on (e.g., both of) a switch control value from the switch control input of the switch circuit and a first block predicate value; and a predicate merge processing element to output a pick control value to the pick control input of the pick circuit and a second block predicate value based on both of a third edge predicate value and one of the first edge predicate value or the second edge predicate value.