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

Documenting Known Qualitative Limitations #32

Closed
willtebbutt opened this issue Nov 6, 2023 · 3 comments
Closed

Documenting Known Qualitative Limitations #32

willtebbutt opened this issue Nov 6, 2023 · 3 comments

Comments

@willtebbutt
Copy link
Member

willtebbutt commented Nov 6, 2023

This issue is for keeping track of and documenting known large limitations of the form "You should not expect Taped to do things of type X".

Known Limitations:

  • If a (mutable) data structure x contains a circular reference, it will not be possible to construct a zero_tangent / random_tangent MutableTangent to it -- an infinite recursion will occur. It should be possible, however, to differentiate through its construction. If you find this to be a problem in practice, please open an issue.
  • zero_tangent and random_tangent do not work for pointers, because we don't know how large a chunk of memory a given pointer points to, so cannot allocate a corresponding chunk of tangent memory. Your best bet when testing rrule!!s for things involving pointers is currently to do integration testing. See the tests for blas functionality for examples.
  • If you pass active data through a global variable, AD will fail. Furthermore / worse still, the failures will probably be silent. Globals #41 (comment)
@yebai
Copy link
Contributor

yebai commented May 15, 2024

We can probably move these limitations to README or docs since they are design choices (of strictly typed Tangent), which means we will not fix them.

@willtebbutt
Copy link
Member Author

Good idea. I'll close this when the docs are written and discuss them.

@willtebbutt
Copy link
Member Author

These items have been documented in #175 -- will close when that is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants