inducer / inducer/pytato

Visualization improvements

Open
#526 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
15
Forks
16
Avg merge
17m
Merged PRs (30d)
1

Description

I just wanted to brainstorm some ideas here for improving visualization of large DAGs, with the intent of possibly finding one or more improvements that @kajalpatelinfo could work on while she's still with us for the summer.

I don't know if there have been any past discussions about this; at least I didn't see anything while browsing through past issues. I have a couple of vague ideas for improvements that I think would be useful. However, I'm not very familiar with the visualization code, so I don't have a sense of how difficult they would be to implement. Here they are in any case:

1. *Collapsing subexpressions.* I'm picturing tagging a node that represents the result of some calculation (temperature, RHS, whatever), and then collapsing all of the nodes that go into that calculation into one visualization node. (How it would decide what exactly to collapse, I'm not 100% sure. Maybe something along the lines of collapsing a node if all of the nodes that depend on it are also part of the collapsed set? Might require a different traversal order than what we usually do with mappers.)
2. *Coloring nodes.* If one wants to find a certain node in the DAG easily, they could tag it to be colored a certain way just before calling `show_dot_graph`.

Any thoughts @inducer, @kaushikcfd? I'd be interested in hearing about any other visualization ideas you've thought of as well.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the visualization code behind show_dot_graph and review how DAG nodes and dependencies are traversed. Compare the two proposed directions—collapsing subexpressions and coloring tagged nodes—and determine a specific, agreed-upon behavior before implementation. Done is not yet defined because this issue is still brainstorming.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.