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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions