Skip to content

Update definitions: intermediate step visualization and recursion #8

@eafurst

Description

@eafurst

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions