CGRA Print Unit for Intermediate Value Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Accessing intermediate values in dataflow computations is challenging in dataflow architectures due to their high parallelism and lack of program counters, making debugging and monitoring difficult compared to conventional architectures.

Innovation Solution

A system and method for a Coarse-Grained Reconfigurable Architecture (CGRA) that allows saving and accessing intermediate values by inserting a print unit between data sources and sinks, enabling debugging capabilities similar to conventional architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a dataflow architecture with high parallelism is used, then computation speed and efficiency are improved, but access to intermediate values for debugging becomes difficult

Engineering Contradiction:
Improvecomputation speedVSAvoiddebugging accessibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces print units as intermediary components between data sources and data sinks in the dataflow graph. These print units intercept intermediate values during computation and make them accessible for debugging purposes, without disrupting the high-speed parallel dataflow processing. The print units act as mediators that allow external observation of internal computation states while maintaining the architecture's computational efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If conventional architecture with program counters is used, then debugging is easier, but parallelism and computation efficiency are reduced

Engineering Contradiction:
Improvedebugging easeVSAvoidcomputation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the dataflow computation by introducing print units at specific points in the dataflow graph. This segmentation allows the computation to be divided into observable stages without disrupting the overall parallel execution. Each print unit creates a localized observation point that provides debugging capability similar to conventional architectures, while the rest of the system maintains high parallelism and efficiency.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If print units are inserted for debugging access, then intermediate value accessibility is improved, but device complexity increases

Engineering Contradiction:
Improveintermediate value accessVSAvoidarchitecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The print units are designed as universal components that can be inserted at multiple points in the dataflow graph without requiring different designs for each location. These multi-functional units serve both the debugging function of capturing intermediate values and the computational function of allowing data to pass through to subsequent operations. This universality minimizes the increase in device complexity while providing comprehensive debugging access.

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

Data Source

PatentUS12056506B2Access to intermediate values in a dataflow computation
Publication Date: 2024.08.06 SAMBANOVA SYSTEMS INC
  • US12056506B2 patent drawing
  • US12056506B2 patent drawing
  • US12056506B2 patent drawing

AI summary

In a Coarse-Grained Reconfigurable Architecture (CGRA) system, two configuration files are used. The CGRA system has an array of configurable units that includes a plurality of switches, a print configurable unit, a source configurable unit, and one or more sink configurable units, The first configuration file, upon being executed by the CGRA system, configures the CGRA system to send output data directly from the source configurable unit to the one or more sink configurable units through the plurality of switches. The second configuration file, upon being executed into the CGRA system, configures the CGRA system to send the output data from the source configurable unit to the print configurable unit through the plurality of switches, send the output data from the print configurable unit to both a memory that is accessible by a host computing unit, and the one or more sink configurable units.