visual_debugger icon indicating copy to clipboard operation
visual_debugger copied to clipboard

Update definitions: intermediate step visualization and recursion

Open eafurst opened this issue 6 years ago • 1 comments

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 avatar Sep 14 '18 20:09 eafurst

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

eafurst avatar Sep 14 '18 20:09 eafurst