Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Oct 17, 2022
Merged

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.

None yet

1 participant