Skip to content

Simple Graph IR to unify and facilitate DNN graph manipulation#61

Merged
ganler merged 1 commit intomainfrom
gir
Oct 17, 2022
Merged

Simple Graph IR to unify and facilitate DNN graph manipulation#61
ganler merged 1 commit intomainfrom
gir

Conversation

@ganler
Copy link
Member

@ganler ganler commented Oct 17, 2022

Why do we need a new representation?

The previous representation is based on NetworkX and then exported into a very simple IR (list of call inst) called schedule. This is actually a tech det I made before which brings a big dependency (NetworkX & pygraphviz) and ununified code (so many representations). It also makes it hard to serialize the abstract graph (relying on 3rd-party lib for extended/non-standard pickling is bad). And it also mutation hard. That's why it is important to bring a minimal representation that is controllable and simple enough for ppl (for developers now, for users later when stabilized) to play with.

This PR bring a standalone implementation of GraphIR which is not used by existing code for stability consideration but is now experimentally tested in local branches to sharpen its design for meeting the goals mentioned above. In the near future, GraphIR will replace the implementation of NetworkX format in graph generation and schedule format in model materialization.

@ganler ganler merged commit 3a8818c into main Oct 17, 2022
@ganler ganler deleted the gir branch October 17, 2022 15:52
@ganler ganler mentioned this pull request Dec 30, 2022
21 tasks
@ganler ganler mentioned this pull request Feb 19, 2023
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant