Repository navigation
[RELAY] Non-recursive Graph Vistor and Rewriter - #4886
Merged
Merged
Conversation
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
from
February 14, 2020 19:00
ab7eb8b to
450b998
Compare
tqchen
reviewed
Feb 14, 2020
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
from
February 28, 2020 22:39
6933b30 to
9c952ee
Compare
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
3 times, most recently
from
March 13, 2020 16:58
a13af48 to
4cf2eca
Compare
Member
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
4 times, most recently
from
March 18, 2020 21:27
8785019 to
8871e0b
Compare
yzhliu
reviewed
Mar 19, 2020
anijain2305
reviewed
Mar 20, 2020
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
2 times, most recently
from
March 23, 2020 19:41
57c6531 to
62cddf2
Compare
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
from
March 30, 2020 20:11
62cddf2 to
55a4213
Compare
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
2 times, most recently
from
March 31, 2020 15:52
cec3bae to
9c6a04d
Compare
added 6 commits
March 31, 2020 13:55
autoformat remove a currently empty test until testing is solidfied
passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes
fix a clang warning fix cpp lint fix doc param error
mbrookhart
force-pushed
the
mbrookhart/GraphVisitor
branch
from
April 2, 2020 23:11
62ca9f5 to
ae3c62e
Compare
Member
|
@zhiics @jroesch @anijain2305 @yzhliu @icemelon9 please take a final look and https://tvm.apache.org/docs/contribute/code_review.html#approve-and-request-changes-explicitly |
tqchen
approved these changes
Apr 3, 2020
tqchen
left a comment
Member
There was a problem hiding this comment.
some final comments, lgtm from my side once they are fixed
icemelon
reviewed
Apr 3, 2020
| } else if (const TupleGetItemNode* op = node.as<TupleGetItemNode>()) { | ||
| stack.top().second = true; | ||
| fpush_to_stack(op->tuple); | ||
| } else { |
Member
There was a problem hiding this comment.
Should we expand LetNode as it could easily lead to deep dataflow?
Member
|
cc @icemelon9 re let node, let us not expand letnode for now, as they could be useful in Dataflow normal form and marks boundries of the dataflow regions and effect |
…ator-tvm into mbrookhart/GraphVisitor
Member
|
Thanks @icemelon9 @yzhliu @anijain2305 @jroesch @MarisaKirisame, and @mbrookhart ! It would be great if we can followup to convert more passes to the non-recursive form |
trevor-m
pushed a commit
to trevor-m/tvm
that referenced
this pull request
Apr 16, 2020
* First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * respond to review comments
zhiics
pushed a commit
to neo-ai/tvm
that referenced
this pull request
Apr 17, 2020
* First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * respond to review comments
dpankratz
pushed a commit
to dpankratz/incubator-tvm
that referenced
this pull request
Apr 24, 2020
* First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * First pass a defining a non-recursive Graph Vistor and Rewriter autoformat remove a currently empty test until testing is solidfied * Make CalcDep from Dead Code Elimination non-recursive * Partially working, not passing all tests yet passes tests when disabling GetExprRefCount, I think I have a bug in visit counting fix GetExprRefCount Fix a subtle bug with nested recursive/non-recursive scopes * Refactor * improve comments * respond to review comments on comments * Fix a problem with default recursion for dataflow nodes mark DataflowVisitor methods as override * implement ScopeMutator * convert forward_rewrite to ScopeMutator, remove DataflowMutator * rewrite ExprRewriter and convert fast_math to use it * switch BiasAddSimplifier to ExprRewriter fix a clang warning fix cpp lint fix doc param error * respond to review comments * fix a typo in the iterative looping * add a regression test for GetExprRefCount issue * Normalize naming * fix lint * respond to review comments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is Work in Progress and under RFC
https://discuss.tvm.ai/t/performing-relay-passes-non-recursively/5696
@jroesch @tqchen