torchdynamo deep dive
Ойындар
Jason Ansel wrote in some post facto corrections which are good to know about:
- generators are actually partially supported already. TorchDynamo can inline them if you both construct and consume them in a single frame, which is the common case. Though it doesn't support them as a top-level frame nor if they escape a single frame.
- the name is a reference to DynamoRIO (that came out of my former research group at MIT a long time ago). DynamoRIO does dynamic x86 to x86 translation (similar to Pin).
- for the specializing the result of .item() bug. What happened is it broke the graph on .item(). If you had scrolled up more you would have seen the original converted function with what you expected. You were looking at the resume_at_x that got over-specialized because it had a Python float() input. Issue is here: github.com/facebookresearch/t...
- For your confusion around 1:15 you also just needed to scroll up (it processed multiple frames due to the resume_at graph breaks).
- In your fix you needed to comment out push(UnknownVariable()). That lines makes it try to pass 1 stack value to resume_at, when the correct behavior is to pass 0 stack values. Segfault is pop from an empty stack in cpython.
Broadcasted live on Twitch -- Watch live at / edwardzyang
Пікірлер: 9
Wonderful video, it clears my doubts on torch._dynamo.
Wonderful video, Thx!
Awesome video !
Thanks a lot! Cool!
Excellent,THX!
Quite a hassle to correctly install torchdynamo though.
thanks
start at 1:40
cool