Configurable Spatial Accelerator Dataflow Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional 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.
Innovation Solution
A spatial array of processing elements connected by lightweight, back-pressured communication networks, where each processing element and network dataflow endpoint circuit performs operations only when input data is available and storage space is ready, eliminating control overheads and utilizing dataflow operators to execute dataflow graphs directly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional processor architectures are used to execute dataflow graphs, then general-purpose computing capability is maintained, but control overhead increases and energy consumption rises
Solution Approach 1:
The system segments the processing architecture into specialized processing elements arranged in a spatial array, each capable of executing dataflow operators. This segmentation eliminates the need for complex centralized control mechanisms while maintaining versatile computing capability through the distributed nature of the array.
Solution Approach 2:
Processing elements in the spatial array are designed to autonomously execute operations based on available input data and storage readiness, eliminating control overhead. The elements self-regulate their execution based on dataflow availability rather than requiring external scheduling control.
2Productivity
If conventional processor architectures with out-of-order scheduling are used, then instruction throughput is improved, but energy consumption and architectural complexity increase
Solution Approach 1:
The dataflow execution model allows processing elements to automatically execute operations when inputs are available and storage is ready, eliminating the need for complex out-of-order scheduling mechanisms. This self-service approach maintains high throughput while significantly reducing energy consumption by removing unnecessary control logic.
3Adaptability or versatility
If conventional processor architectures with complex register files are used, then scheduling flexibility is improved, but energy consumption and hardware complexity increase
Solution Approach 1:
The invention extracts and removes complex register files and scheduling mechanisms from the architecture. Instead, it uses a simpler spatial array of processing elements that rely on dataflow availability and storage readiness to determine execution, thereby reducing hardware complexity while maintaining scheduling flexibility through the dataflow model.
4Use of energy by moving object
If spatial array of processing elements is used to execute dataflow graphs, then energy efficiency and computational density are improved, but control mechanisms are simplified
Solution Approach 1:
Processing elements in the spatial array autonomously determine when to execute operations based on input data availability and storage readiness, eliminating the need for complex external control mechanisms. This self-service approach achieves high energy efficiency and computational density while using minimal control overhead.
Data Source
AI summary
Systems, methods, and apparatuses relating to operations in a configurable spatial accelerator are described. In one embodiment, a configurable spatial accelerator includes a first processing element that includes a configuration register within the first processing element to store a configuration value that causes the first processing element to perform an operation according to the configuration value, a plurality of input queues, an input controller to control enqueue and dequeue of values into the plurality of input queues according to the configuration value, a plurality of output queues, and an output controller to control enqueue and dequeue of values into the plurality of output queues according to the configuration value.


