Debugging Dataflow Architectures via Hardware-Software Co-Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional computing architectures, such as Von Neumann architecture, face limitations in performance and efficiency due to high latency and energy consumption in data movement between processors and memory, constraining compute systems, especially in compute-intensive operations like neural networks and simulations.

Innovation Solution

The introduction of memory-compute systems with hybrid threading processors and fabrics, where compute capabilities are integrated near or with memory, enabling low-latency operations through custom compute fabrics and programmable atomic units, and advanced debugging methods for dataflow architectures using parallel hardware execution and software co-simulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is moved between processors and memory in conventional architectures, then data access is enabled, but latency and energy consumption increase significantly

Engineering Contradiction:
Improvedata access speedVSAvoiddata movement latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent merges memory and compute capabilities into a unified memory-compute system where processing elements are integrated directly within the memory structure. This eliminates the need for separate data movement between processors and memory, as computation occurs in-place within the memory array, thereby reducing latency and improving data access speed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces memory-compute complexes as intermediary structures that bridge the gap between traditional memory and processing units. These complexes enable direct computation on stored data without requiring data to be transferred to external processors, effectively mediating the data access process to reduce latency and energy consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is moved between processors and memory in conventional architectures, then data access is enabled, but energy consumption increases significantly

Engineering Contradiction:
Improvecompute efficiencyVSAvoiddata movement energy
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent combines memory storage and compute operations into a single integrated structure, eliminating the energy-intensive data movement between separate memory and processing units. Compute elements are embedded within the memory array, allowing data to be processed in-place without requiring energy for data transfer across bus interfaces.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory-compute system enables memory cells to perform compute operations autonomously without requiring external processing units. The memory array itself serves as the computing resource, eliminating the need for energy-consuming data movement to and from external processors, thereby reducing overall energy consumption while maintaining compute efficiency.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If conventional debugging methods are used on dataflow architectures, then debugging can be performed, but the parallel and synchronous nature of dataflow makes traditional single-threaded debugging ineffective

Engineering Contradiction:
Improvedebugging capabilityVSAvoidcompatibility with parallel dataflow execution
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a software simulator that replicates the behavior of the hardware dataflow processor. This simulator copy allows developers to execute and debug code in a familiar sequential environment that mirrors the hardware's behavior, enabling traditional debugging techniques to be applied effectively while maintaining compatibility with the parallel dataflow architecture's execution model.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a software simulator as an intermediary layer between the developer and the hardware dataflow processor. This simulator mediates the debugging process by providing a sequential execution environment that is compatible with traditional debugging tools, while accurately reflecting the behavior of the parallel hardware architecture, thereby bridging the gap between debugging ease and architectural adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11720475B2Debugging dataflow computer architectures
Publication Date: 2023.08.08 MICRON TECHNOLOGY INC
  • US11720475B2 patent drawing
  • US11720475B2 patent drawing
  • US11720475B2 patent drawing

AI summary

Disclosed in some examples are methods, systems, devices, and machine-readable mediums that use parallel hardware execution with software co-simulation to enable more advanced debugging operations on data flow architectures. Upon a halt to execution of a program thread, a state of the tiles that are executing the thread are saved and offloaded from the HTF to a host system. A developer may then examine this state on the host system to debug their program. Additionally, the state may be loaded into a software simulator that simulates the HTF hardware. This simulator allows for the developer to step through the code and to examine values to find bugs.