{"action":"created","issue":{"url":"https://api.github.com/repos/pytorch/pytorch/issues/7672","repository_url":"https://api.github.com/repos/pytorch/pytorch","labels_url":"https://api.github.com/repos/pytorch/pytorch/issues/7672/labels{/name}","comments_url":"https://api.github.com/repos/pytorch/pytorch/issues/7672/comments","events_url":"https://api.github.com/repos/pytorch/pytorch/issues/7672/events","html_url":"https://github.com/pytorch/pytorch/pull/7672","id":324374705,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg4OTk4ODk0","number":7672,"title":"Add a loop unrolling pass to PyTorch JIT","user":{"login":"apaszke","id":4583066,"node_id":"MDQ6VXNlcjQ1ODMwNjY=","avatar_url":"https://avatars3.githubusercontent.com/u/4583066?v=4","gravatar_id":"","url":"https://api.github.com/users/apaszke","html_url":"https://github.com/apaszke","followers_url":"https://api.github.com/users/apaszke/followers","following_url":"https://api.github.com/users/apaszke/following{/other_user}","gists_url":"https://api.github.com/users/apaszke/gists{/gist_id}","starred_url":"https://api.github.com/users/apaszke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apaszke/subscriptions","organizations_url":"https://api.github.com/users/apaszke/orgs","repos_url":"https://api.github.com/users/apaszke/repos","events_url":"https://api.github.com/users/apaszke/events{/privacy}","received_events_url":"https://api.github.com/users/apaszke/received_events","type":"User","site_admin":false},"labels":[{"id":679953983,"node_id":"MDU6TGFiZWw2Nzk5NTM5ODM=","url":"https://api.github.com/repos/pytorch/pytorch/labels/jit","name":"jit","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-05-18T11:33:21Z","updated_at":"2018-05-30T23:43:08Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/pytorch/pytorch/pulls/7672","html_url":"https://github.com/pytorch/pytorch/pull/7672","diff_url":"https://github.com/pytorch/pytorch/pull/7672.diff","patch_url":"https://github.com/pytorch/pytorch/pull/7672.patch"},"body":"Examples can be seen in expect files. Current strategy for dealing with iteration counts is to have a single \"mutable\" variable outside of the loop, that would be incremented every time. An alternative would be to have them independent, and still use the builtin value, but with an appropriate multiplier (for the unrolled loop), or offset (for epilogue), but this doesn't seem very useful for now.\r\n\r\nAlso contains a few minor improvements, like a change in our strategy for generating new unique names, to favor changing `name.n` to `name.(n+1)` (where `(n+1)` is ofc evaluated), instead of appending `.1` (that strategy resulted in names like `y.2.1.1.1.1.1.1` after unrolling). Also, `checkScript` has been using the Python-frontend in optimized mode even if `optimize` was explicitly set to `False`.\r\n\r\nIt also looks like our DCE pass is unsound at the moment, because it treats PythonOps as side-effect free which is not true in general. I couldn't easily fix it, because ONNX depends on this behavior to implement export of packed sequences.\r\n\r\n@zdevito @jamesr66a"},"comment":{"url":"https://api.github.com/repos/pytorch/pytorch/issues/comments/393354127","html_url":"https://github.com/pytorch/pytorch/pull/7672#issuecomment-393354127","issue_url":"https://api.github.com/repos/pytorch/pytorch/issues/7672","id":393354127,"node_id":"MDEyOklzc3VlQ29tbWVudDM5MzM1NDEyNw==","user":{"login":"jamesr66a","id":4685384,"node_id":"MDQ6VXNlcjQ2ODUzODQ=","avatar_url":"https://avatars2.githubusercontent.com/u/4685384?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesr66a","html_url":"https://github.com/jamesr66a","followers_url":"https://api.github.com/users/jamesr66a/followers","following_url":"https://api.github.com/users/jamesr66a/following{/other_user}","gists_url":"https://api.github.com/users/jamesr66a/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesr66a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesr66a/subscriptions","organizations_url":"https://api.github.com/users/jamesr66a/orgs","repos_url":"https://api.github.com/users/jamesr66a/repos","events_url":"https://api.github.com/users/jamesr66a/events{/privacy}","received_events_url":"https://api.github.com/users/jamesr66a/received_events","type":"User","site_admin":false},"created_at":"2018-05-30T23:43:08Z","updated_at":"2018-05-30T23:43:08Z","author_association":"CONTRIBUTOR","body":"Is this ready to be merged?"}}
{"actor":{"display_login":"jamesr66a"}}