GUI for Code to Dataflow Graph Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing user interfaces fail to effectively visualize the correspondence between source code and hardware execution in dataflow architecture processors, making it difficult for developers to debug and optimize code.

Innovation Solution

A graphical user interface (GUI) that simultaneously presents source code and an interactive graph, where nodes represent operations mapped to physical configurable elements, and edges represent dependencies, allowing users to select and visually distinguish portions of the code corresponding to specific hardware elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If traditional debugging tools are used for von Neumann architecture, then the interface is simple, but it cannot visualize the correspondence between source code and hardware execution in dataflow architecture

Engineering Contradiction:
Improvevisualization of code-hardware correspondenceVSAvoidGUI complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a new dimension of visualization by presenting source code alongside an interactive graph representation that maps to hardware execution. This dual-view approach allows developers to see both the abstract code and its concrete hardware mapping simultaneously, resolving the information loss problem without simply complicating the existing interface

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The interactive graph serves as an intermediary between source code and hardware execution. It translates complex hardware mapping relationships into a visual format that developers can understand, bridging the gap between high-level code and low-level hardware operations without requiring developers to directly interpret complex hardware architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If source code is mapped to physical configurable elements, then execution efficiency can be optimized, but the difficulty of detecting and measuring code-hardware correspondence increases

Engineering Contradiction:
Improvecode execution efficiencyVSAvoidcode-hardware correspondence detection
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent uses visual distinctions including color changes to highlight selected nodes and edges in the interactive graph. When developers select portions of source code, the corresponding hardware elements are visually distinguished through color changes, making it easy to detect and measure code-hardware correspondence even as the system scales to handle complex mappings

Inventive Principle:
Principle #32Color changes

Solution Approach 2:

The system provides immediate visual feedback when developers interact with the source code or the interactive graph. Selecting a code portion automatically highlights the corresponding hardware elements, and vice versa, creating a feedback loop that simplifies the detection and measurement of code-hardware correspondence relationships

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250138787A1Graphical user interface for code to dataflow graph representation
Publication Date: 2025.05.01 NEXTSILICON LTD
  • US20250138787A1 patent drawing
  • US20250138787A1 patent drawing
  • US20250138787A1 patent drawing

AI summary

There is provided a method, comprising simultaneously presenting in a GUI, a source code and an interactive graph of nodes connected by edges representing the source code mapped to physical configurable elements of computational cluster(s) of a processor each configurable to execute mathematical operations, each node represents operation(s) mapped to physical configurable elements, and edges represent dependencies between the operations, mapped to physical dependency links between the configurable elements, receiving, via the GUI, a user selection of a portion of the source code, determining node(s) and/or edge(s) of the interactive graph corresponding to the portion, and updating the GUI for visually distinguishing the node(s) and/or edge(s), wherein the visually distinguished node(s) represents a mapping to certain physical configurable elements and the visually distinguished edge(s) represents certain dependency links between the certain physical configurable elements of the processor configured to execute the user selected portion of the source code.