Visualization improvements
- 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