{"push_id":4375964076,"size":20,"distinct_size":20,"ref":"refs/heads/master","head":"04b93244762e0126887c5fcc79fd8cffc2a776c6","before":"6848f9abb82edc4e03e34b2c45a6c559a45a6c7c","commits":[{"sha":"190dac13e33267b4808a280fbc449ad672ec7544","author":{"name":"Owen Anderson","email":"24a74c757816385a523b6755e302643f8b781853@oculus.com"},"message":"Use universal references and perfect forwarding in Loops.h. (#30466)\n\nSummary:\nThis simplifies the generated code a bit, saving about 40K off of libtorch.\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30466\n\nDifferential Revision: D18836215\n\nPulled By: resistor\n\nfbshipit-source-id: ad75c9e04783bb29cc06afd2022f73f9625dd52b","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/190dac13e33267b4808a280fbc449ad672ec7544"},{"sha":"c75bc9067ca7844ec3b732e843377d5b156376a8","author":{"name":"Gregory Chanan","email":"405a4c10dc10d9753e4d637a51ebfa857b6fcbb3@fb.com"},"message":"MultiMarginCriterion: move scalar_check from codegen to code.\n\nSummary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/30827\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18833658\n\nPulled By: gchanan\n\nfbshipit-source-id: decd42789d92d4fbfeea9b470b3d7333e3862263","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/c75bc9067ca7844ec3b732e843377d5b156376a8"},{"sha":"4f342a61c1bdadfc5896bbe1c3998adea065963f","author":{"name":"Rohan Varma","email":"a1ddcf5741504084ca14e086f1539b590a6930ab@fb.com"},"message":"add the worker IDs outside of addSendRpcBackward to ensure they are (#30914)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30914\n\nWhen tensors don't require grad, we don't call `addSendRpcBackward`, where we record known workerIDs to clean up the dist autograd context later. But since  https://github.com/pytorch/pytorch/pull/29781, we always include the autograd context ID in RPCs, even if tensors do not require grad. So, it could be possible that we don't release the contexts on some nodes.\n\nThis can contribute to OOMs since the contexts will not be cleaned up in this case, which can be checking by running the unit test without this patch. We can fix this issue by moving the `addKnownWorkerIds`  call to the `getMessageWithAutograd` function.\nghstack-source-id: 95178561\n\nTest Plan: Added a unit test: `test_context_cleanup_tensor_no_grad`\n\nDifferential Revision: D18869191\n\nfbshipit-source-id: b80f66bfd0dd7d01960abe1691d3f44095bb1b2b","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/4f342a61c1bdadfc5896bbe1c3998adea065963f"},{"sha":"daef363b15c8a3aaaed09892004dc655df76ff81","author":{"name":"xiaobing.zhang","email":"40f9e0eb63a2cca68f5c54b079e818d504463521@intel.com"},"message":"Move Softshrink activation to Aten(CPU+CUDA) (#30229)\n\nSummary:\nVitalyFedyunin, This PR is about port Softshrink activation to Aten:\n**Test script:**\n```\nimport torch\nimport torch.nn as nn\nimport time\n\ntorch.manual_seed(0)\ndef _time():\n    if torch.cuda.is_available():\n        torch.cuda.synchronize()\n    return time.time()\n\ndevice = \"cpu\"\nm = nn.Softshrink()\nif torch.cuda.is_available():\n    device = \"cuda\"\n    m = m.cuda()\n\n#warm up\nfor n in [100, 10000]:\n    input = torch.randn(128, n, requires_grad=True, device=device)\n    grad_output = torch.ones(128, n, device=device)\n    for i in range(1000):\n        output = m(input)\n        output.backward(grad_output)\n\nfor n in [100, 10000]:\n    input = torch.randn(128, n, requires_grad=True, device=device)\n    grad_output = torch.ones(128, n, device=device)\n    fwd_t = 0\n    bwd_t = 0\n    for i in range(10000):\n        t1 = _time()\n        output = m(input)\n        t2 = _time()\n        output.backward(grad_output)\n        t3 = _time()\n        fwd_t = fwd_t + (t2 -t1)\n        bwd_t = bwd_t + (t3 - t2)\n    fwd_avg = fwd_t / 10000 * 1000\n    bwd_avg = bwd_t / 10000 * 1000\n    print(\"input size(128, %d) forward time is %.2f (ms); backwad avg time is %.2f (ms).\"\n          % (n, fwd_avg, bwd_avg))\n```\nTest Device: CPU: skx-8180, GPU: Tesla P40.\nPerfromance:\nBefore:\n```\nGPU:\ninput size(128, 100) forward time is 0.06 (ms); backwad avg time is 0.12 (ms).\ninput size(128, 10000) forward time is 0.06 (ms); backwad avg time is 0.18 (ms).\nCPU:\ninput size(128, 100) forward time is 0.19 (ms); backwad avg time is 0.23 (ms).\ninput size(128, 10000) forward time is 17.23 (ms); backwad avg time is 16.83 (ms).\n```\nAfter:\n```\nGPU:\ninput size(128, 100) forward time is 0.05 (ms); backwad avg time is 0.11 (ms).\ninput size(128, 10000) forward time is 0.06 (ms); backwad avg time is 0.17 (ms).\nCPU:\ninput size(128, 100) forward time is 0.08 (ms); backwad avg time is 0.05 (ms).\ninput size(128, 10000) forward time is 0.32 (ms); backwad avg time is 0.08 (ms).\n```\n`OMP_NUM_THREADS=1:`\n```\nBefore:\ninput size(128, 100) forward time is 0.08 (ms); backwad avg time is 0.10 (ms).\ninput size(128, 10000) forward time is 7.58 (ms); backwad avg time is 7.91 (ms).\nAfter:\ninput size(128, 100) forward time is 0.08 (ms); backwad avg time is 0.02 (ms).\ninput size(128, 10000) forward time is 7.30 (ms); backwad avg time is 1.02 (ms).\n```\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30229\n\nDifferential Revision: D18810054\n\nPulled By: VitalyFedyunin\n\nfbshipit-source-id: e19074824396570db45ba488ae4f9fe1b07a5839","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/daef363b15c8a3aaaed09892004dc655df76ff81"},{"sha":"528fa737ba0ffbd2a9f205f254c5c5a862191fda","author":{"name":"Sebastian Messmer","email":"ef83834e7ce69695dd3376888da48b8a95d5228b@fb.com"},"message":"Custom op autograd tests (#30519)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30519\n\nRe-enable them and write a few additional ones\nghstack-source-id: 95143051\n\nTest Plan: unit tests\n\nDifferential Revision: D18729561\n\nfbshipit-source-id: 8cefd8320913d72a450a3324bfd7c88faed072d7","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/528fa737ba0ffbd2a9f205f254c5c5a862191fda"},{"sha":"536481d9deb8f6a4a3d34df833785e5df3d5accf","author":{"name":"Sebastian Messmer","email":"ef83834e7ce69695dd3376888da48b8a95d5228b@fb.com"},"message":"Fix missing virtual destructor (#30927)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30927\n\nClasses that are used virtually (e.g. have virtual methods) must have a virtual destructor or bad things happen\nghstack-source-id: 95144736\n\nTest Plan: waitforsandcastle\n\nDifferential Revision: D18870351\n\nfbshipit-source-id: 333af4e95469fdd9103aa9ef17b40cbc4a343f82","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/536481d9deb8f6a4a3d34df833785e5df3d5accf"},{"sha":"fb36f1c3341bbcc09a68d3cf26d66671c90a70a9","author":{"name":"svcscm","email":"319d4a8b107b971d56786637202f7ee82b269e79@fb.com"},"message":"Updating submodules\n\nSummary:\nGitHub commits:\n\nhttps://github.com/facebook/fbthrift/commit/0f96b98cecb37a531cef04488097c7299fc70d83\nhttps://github.com/facebook/proxygen/commit/8090b337a41555b29ab2a6f53998f02874394dc7\nhttps://github.com/facebook/rocksdb/commit/e43d2c44244e685f7a1b1a163506b911eb1c49f4\nhttps://github.com/facebookincubator/mvfst/commit/70d1c268bf0a4a53730672a363f98825f39a3d52\nhttps://github.com/facebookresearch/pytorch-biggraph/commit/fc6140865be79771b874e84ecf5736c962ee480c\nhttps://github.com/pytorch/fbgemm/commit/4caba2ed655d8054129a22a7adecaad07dea4d42\n\nTest Plan: n/a\n\nReviewed By: zpao\n\nfbshipit-source-id: 5b4edf4267942ab0cbd2980dc500227e3ce353e3","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/fb36f1c3341bbcc09a68d3cf26d66671c90a70a9"},{"sha":"5bf58274cc5e910a6a0548a0a178ce671ed79989","author":{"name":"Jerry Zhang","email":"210765c83ad755402ff54425bf352bae661dc900@fb.com"},"message":"getQParams return a dictionary of qparams (#30859)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30859\n\nWe can dictionary of quantization parameters to simplify the code\nhandling these things a bit\n\nTest Plan:\n.\n\nImported from OSS\n\nDifferential Revision: D18849023\n\nfbshipit-source-id: 09e9860b2656a1affa8776016e16794529bcee3b","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/5bf58274cc5e910a6a0548a0a178ce671ed79989"},{"sha":"45f0556ba0a35c911421577a0a29d751537b7838","author":{"name":"Jerry Zhang","email":"210765c83ad755402ff54425bf352bae661dc900@fb.com"},"message":"Proper print for one element tuple (#30853)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30853\n\nRight now we print one element tuple as `(val)`, and it will\nbe interpreted as `val` in parsing, this PR changes it\nto `(val,)` so we can recognize the one element tuple in parsing\n\nTest Plan:\n.\n\nImported from OSS\n\nDifferential Revision: D18846849\n\nfbshipit-source-id: 42959b9190c2567ef021a861497077c550324b7c","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/45f0556ba0a35c911421577a0a29d751537b7838"},{"sha":"648bb501a111914e4590889d98d1023c38758555","author":{"name":"Elias Ellison","email":"32bcb86024d493ca261d5686b38111589a7092c1@fb.com"},"message":"rename shouldAnnotate api (#30543)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30543\n\n`shouldAnnotate` doesn't make make a ton of sense as a public api\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18833608\n\nPulled By: eellison\n\nfbshipit-source-id: 460ee05d0fa91b1edc640c037be2a6ee8eaf50a6","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/648bb501a111914e4590889d98d1023c38758555"},{"sha":"3eefc06feb323e9398942dbcc9787af049feeb0f","author":{"name":"Elias Ellison","email":"32bcb86024d493ca261d5686b38111589a7092c1@fb.com"},"message":"add constant prop for immutable types (#30544)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30544\n\nRun Constant Propagation upon compilation only on ops with non-aliasing inputs and outputs. This speeds up the first run of `torchvision.models.resnet18` by over 50% and speeds up compilation by about 25% (although the effects didn't seem additive with with https://github.com/pytorch/pytorch/pull/30503, so I'm going to land this PR first and then see if caching still has a sizable impact).\n\nRunning constant prop only with non-aliasing types does a lot of graph cleanup by removing constant ifs and a bunch of other smaller ops. It also avoids all the jitter problems we had when we tried running full constant prop previously. Bc it is idempotent it doesn't jitter, and it doesn't jitter graphs constructed from tracing because tracing doesn't emit any ops that only involve non-aliasing inputs.\n\nFull constant prop isn't idempotent because what ops are run depends on the state of mutation in alias db, which will often change upon successive iterations of constant propagation, and bc it affects graphs constructed from tracing.\n\nEdit: if we were okay with running constant propagation on graphs constructed from tracing (potentially making them hard to debug), an alternative would be to run constant propagation until the graph reaches a fixed point.\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18833607\n\nPulled By: eellison\n\nfbshipit-source-id: 92a0adb4882d67ed5a0db5c279f5e122aeeba54a","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/3eefc06feb323e9398942dbcc9787af049feeb0f"},{"sha":"82268bf300e2c794010ed381844767ebc5794f62","author":{"name":"Elias Ellison","email":"32bcb86024d493ca261d5686b38111589a7092c1@fb.com"},"message":"handle reassignment to inf and nan (#30877)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30877\n\nPreviously, when the environment tried to reassign variables which had been assigned to \"inf\" or \"nan\" it would fail because they are not simple values. Constant prop exposed this, a test was failing internally because of it.\n\nTest Plan: Imported from OSS\n\nReviewed By: Krovatkin\n\nDifferential Revision: D18861016\n\nPulled By: eellison\n\nfbshipit-source-id: b9b72978a26a0b00b13bf8ea7685825551f5a541","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/82268bf300e2c794010ed381844767ebc5794f62"},{"sha":"a38c9b1ade03d47f0c94c0bb720a3ffc3dccb5b0","author":{"name":"Shen Li","email":"130c961d7320adfa391221e2d867811ccf25b61b@gmail.com"},"message":"Adding debugging metrics to process group agent\n\nSummary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/30884\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18857140\n\nPulled By: mrshenli\n\nfbshipit-source-id: 4ec61d13778dd49467159d0db4b6dd51feaf282b","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/a38c9b1ade03d47f0c94c0bb720a3ffc3dccb5b0"},{"sha":"8a57362000a75e8f701836bff6de5be24480f535","author":{"name":"Shen Li","email":"130c961d7320adfa391221e2d867811ccf25b61b@gmail.com"},"message":"Fix index out of bound error in Engine::ready_queue_size when called before start_threads\n\nSummary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/30967\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18887178\n\nPulled By: mrshenli\n\nfbshipit-source-id: 67baeac9214a4749ce7e9b4d89862c93620b2d5e","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/8a57362000a75e8f701836bff6de5be24480f535"},{"sha":"e9ca13d7f55ad4f3081d4d070eec1f5ec0001bca","author":{"name":"Shen Li","email":"130c961d7320adfa391221e2d867811ccf25b61b@gmail.com"},"message":"Add glue code to collect debug info from all components\n\nSummary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/30888\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18857139\n\nPulled By: mrshenli\n\nfbshipit-source-id: 5c1bfb83a21a4a57c4297bb94f14baa09520b791","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/e9ca13d7f55ad4f3081d4d070eec1f5ec0001bca"},{"sha":"a03581b927cc872789cd5fa9285caaf3f47701bd","author":{"name":"Elias Ellison","email":"32bcb86024d493ca261d5686b38111589a7092c1@fb.com"},"message":"add tests that schemas are valid (#30749)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30749\n\nAdd check to schemas that the schema is sane.\n\nI removed the defaults from symbolic_script because they were in some cases wrong and don't actually do anything. At the point they're invoked the forward should already have matched all arguments.\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18864775\n\nPulled By: eellison\n\nfbshipit-source-id: 273d7e96d65b8a3d3de72e2d7bfcdf2417046c6b","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/a03581b927cc872789cd5fa9285caaf3f47701bd"},{"sha":"446488960aa4f2d54fadd4d24f6bcc973e1729f5","author":{"name":"Elias Ellison","email":"32bcb86024d493ca261d5686b38111589a7092c1@fb.com"},"message":"polish up overloads on free functions (#30356)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30356\n\nThis finishes up the `torch.jit.overload` api for free-functions.\n- defaults now required on the implementation function itself\n- fully follows [overload spec](https://mypy.readthedocs.io/en/latest/more_types.html#function-overloading) such that the following is supported\n\n```\noverload\ndef mouse_event(x1: int, y1: int) -> ClickEvent: ...\ndef mouse_event(x1: int,\n                y1: int,\n                x2: Optional[int] = None,\n                y2: Optional[int] = None): ...\n```\n\nNote: `jit.overload` isn't supported yet for UDT, but is support for modules. This PR doesn't make the same changes for modules, if reviewers think I should include them then I could do so in a follow up PR or wait to land this. Since that's still an internal api I think it's fine, and the changes here would allow us to expose `torch.jit.overload` on free functions.\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18864774\n\nPulled By: eellison\n\nfbshipit-source-id: 6c566738bd6f0551a000a9ea8d56e403636b7856","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/446488960aa4f2d54fadd4d24f6bcc973e1729f5"},{"sha":"73dd8c005a497a28cfa210463e6677ad5ef1438d","author":{"name":"Wanchao Liang","email":"cec3728d98a9425a5de254a15f6461e93e451168@fb.com"},"message":"Revert D18864774: polish up overloads on free functions\n\nTest Plan: revert-hammer\n\nDifferential Revision:\nD18864774\n\nOriginal commit changeset: 6c566738bd6f\n\nfbshipit-source-id: 669192605a3bc1a6ba06bbb5cae54f61637a45ae","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/73dd8c005a497a28cfa210463e6677ad5ef1438d"},{"sha":"fa6661422fdaecd1cc25967c5f555d42ed66598c","author":{"name":"Shen Li","email":"130c961d7320adfa391221e2d867811ccf25b61b@gmail.com"},"message":"Disable flaky test_rref_context_debug_info\n\nSummary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/30990\n\nTest Plan: Imported from OSS\n\nDifferential Revision: D18893023\n\nPulled By: mrshenli\n\nfbshipit-source-id: 80b36927f243fa53c4d64f7e7c51097290ffdeee","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/fa6661422fdaecd1cc25967c5f555d42ed66598c"},{"sha":"04b93244762e0126887c5fcc79fd8cffc2a776c6","author":{"name":"Jerry Zhang","email":"210765c83ad755402ff54425bf352bae661dc900@fb.com"},"message":"Factor out getInvokedMethod in `InsertQuantDeQuantHelper` (#30860)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/30860\n\natt\n\nTest Plan:\n.\n\nImported from OSS\n\nDifferential Revision: D18849021\n\nfbshipit-source-id: e5ff260f2f4e88075b0c6b32ccfd8272053ccc41","distinct":true,"url":"https://api.github.com/repos/huaxz1986/pytorch/commits/04b93244762e0126887c5fcc79fd8cffc2a776c6"}]}
{"actor":{"display_login":"huaxz1986"}}