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

Update definitions: intermediate step visualization and recursion #8

Open
eafurst opened this issue Sep 14, 2018 · 1 comment
Open
Labels
bug Something isn't working

Comments

@eafurst
Copy link

eafurst commented Sep 14, 2018

Visualizing update definitions turns out to be challenging due to design choices in Halide.

Quoting Andrew Adams on Halide gitter:
"When you call a Func, you get the final version after all the updates have run. There's no way to have a call node reference an intermediate result. The exception is if it's a recursive call from a Func to itself, in which case the value is whatever was last stored to that site."

This means one needs to track which update definition index we are processing in a visitor/mutator chain in order to resolve self-references/recursion. We might need to keep a queue of active Funcs with their update definition indices to resolve complicated cross-references in update definition chains.

@eafurst
Copy link
Author

eafurst commented Sep 14, 2018

some progress in branch: slomp/feature/update-defs

@slomp slomp added the bug Something isn't working label Sep 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants