Skip to content

Make autodiff caching more fine-grained #600

@calcmogul

Description

@calcmogul

While our autodiff is faster than CasADi, it's still a bottleneck compared to the IPM algorithm and linear system solve itself. One way to speed it up would be to eliminate unnecessary work. We already cache the linear rows of Jacobians, but we could go further by caching subtrees within the expression tree too.

One way to do this is to set a dirty bit on each node so computations can be skipped. Since variables are flagged from the bottom of the tree, and reverse autodiff works from the top-down, we'll need to be clever about avoiding unnecessary node traversal.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions