{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":385408663,"defaultBranch":"main","name":"torchrec","ownerLogin":"pytorch","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-12T23:15:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21003710?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716822193.0","currentOid":""},"activityList":{"items":[{"before":"3ca8e8b38712cbd12eeec6da77658fd8f14c94d5","after":"b4f7649427334809c26b7010acfbb4f416ae16f7","ref":"refs/heads/main","pushedAt":"2024-05-28T23:40:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Support Sync start and 'Naive' semi-sync\n\nSummary:\nexpand API to support:\n stash_gradients: bool, True -> dense optimizer will match sparse optimizer (B-2), False -> immediately apply dense optimizer, will be lower memory\n\n start_batch: int -> batch number to start semi-sync strategy\n\nInitution to date (ymmv):\n\nAds is doing stash_gradients = False, but on MRS I saw NE regressions doing this.\n\nReviewed By: henrylhtsang\n\nDifferential Revision:\nD57640178\n\nPrivacy Context Container: 1203980333745195\n\nfbshipit-source-id: de00a81233e2f24af08b3e130a94a769504447ab","shortMessageHtmlLink":"Support Sync start and 'Naive' semi-sync"}},{"before":"9a50de22b1f09fac52e26a9838480a70d2c37e29","after":"3ca8e8b38712cbd12eeec6da77658fd8f14c94d5","ref":"refs/heads/main","pushedAt":"2024-05-28T18:17:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Setting to use torch dynamo compiling path in eager (#2045)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2045\n\n1/ Refactoring to use is_torchdynamo_compiling() from torchrec.pt2.checks instead of code duplication\n\n2/ We have alternative path of logic is_torchdynamo_compiling(). Our tests are not testing it without compilation, so it is error prone to not catch some shape mismatch or etc. =>\nWe need a tool how to cover it with eager tests without compilation. =>\nIntroducing global setting to force using is_torchdynamo_compiling() path for eager for test coverage and debug.\n\nEnabling this path for test_pt2_multiprocess, that first eager iteration will be done on is_torchdynamo_compiling path.\n\nReviewed By: PaulZhang12, gnahzg\n\nDifferential Revision: D57860075\n\nfbshipit-source-id: a033be81367b814afa47a7b22bd68d7eccf4f991","shortMessageHtmlLink":"Setting to use torch dynamo compiling path in eager (#2045)"}},{"before":"9be187190eac3186d8c2897fe06dd48a644cc46c","after":"41aaf6407c32d90c775ccdadbc40f979aeabc0bd","ref":"refs/heads/gh-pages","pushedAt":"2024-05-28T15:11:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ 9a50de22b1f09fac52e26a9838480a70d2c37e29 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 9a50de2 πŸš€"}},{"before":"8c7fa2fb956d8c83c5227f2aa12011aab2545dcb","after":"9a50de22b1f09fac52e26a9838480a70d2c37e29","ref":"refs/heads/main","pushedAt":"2024-05-28T15:09:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Reland [torchrec][inference] Fix device propagation, tests for cpu sharding (#2038)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2038\n\nOriginal diff D51309697 got reverted due to break production model\n\nTry to reland it\n\nReviewed By: IvanKobzarev\n\nDifferential Revision: D57615192\n\nfbshipit-source-id: 8c0a75b368e21a06ef59732c177d37f0d5f8fe1a","shortMessageHtmlLink":"Reland [torchrec][inference] Fix device propagation, tests for cpu sh…"}},{"before":"c1cbd32ac58bd261932b7c177216b6723fc9533d","after":"636ba32e8fa0861ff2dabc760739b10583f3ac9e","ref":"refs/heads/nightly","pushedAt":"2024-05-28T11:34:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-28 nightly release (8c7fa2fb956d8c83c5227f2aa12011aab2545dcb)","shortMessageHtmlLink":"2024-05-28 nightly release (8c7fa2f)"}},{"before":"1a5df0f5e6bfc4ec9e936f99a271aaed8acd1854","after":"c1cbd32ac58bd261932b7c177216b6723fc9533d","ref":"refs/heads/nightly","pushedAt":"2024-05-27T11:35:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-27 nightly release (8c7fa2fb956d8c83c5227f2aa12011aab2545dcb)","shortMessageHtmlLink":"2024-05-27 nightly release (8c7fa2f)"}},{"before":"4d64da2e5e66734729571a73666ab6b0f3c3a39b","after":"1a5df0f5e6bfc4ec9e936f99a271aaed8acd1854","ref":"refs/heads/nightly","pushedAt":"2024-05-26T11:34:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-26 nightly release (8c7fa2fb956d8c83c5227f2aa12011aab2545dcb)","shortMessageHtmlLink":"2024-05-26 nightly release (8c7fa2f)"}},{"before":"cdc45721303ab307b118d01c2dd2859dbb62728e","after":"4d64da2e5e66734729571a73666ab6b0f3c3a39b","ref":"refs/heads/nightly","pushedAt":"2024-05-25T11:34:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-25 nightly release (8c7fa2fb956d8c83c5227f2aa12011aab2545dcb)","shortMessageHtmlLink":"2024-05-25 nightly release (8c7fa2f)"}},{"before":"96446ee392bee32cd01365515013ecb6e6e62aac","after":"9be187190eac3186d8c2897fe06dd48a644cc46c","ref":"refs/heads/gh-pages","pushedAt":"2024-05-24T15:33:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ 8c7fa2fb956d8c83c5227f2aa12011aab2545dcb πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 8c7fa2f πŸš€"}},{"before":"f24c8dcef66504c4dd1473315408c96c50627665","after":"8c7fa2fb956d8c83c5227f2aa12011aab2545dcb","ref":"refs/heads/main","pushedAt":"2024-05-24T15:31:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Sync collectives refactoring (#2039)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2039\n\nReland of D57564130\n\n**What is changed after revert**:\nTorch Library can not be used inside Deploy.\nGuarded in comm_ops.py all operators definitions and autograd registrations with `not torch._running_with_deploy():`\n\n**Catching deploy compat on diff test/land**: D57773561\n\n**Previous diff Summary:**\nThe diff refactors torchrec sync collectives and addresses issues with missing wait_tensor() for backward:\n- Refactoring using latest Torchrec Library Custom Op API with PT2 compatibility\n- Removing non-Native functional collectives calls (c10d_functional), as only native exist now in pytorch and non-native are redispatched to native.\n- Adding test cases for compiled-with-noncompiled ranks (in case of compilation failure on one of the ranks)\n\nIssues fixed:\n- Sync collectives eager backward did not produce gradient -> Fixed\n- Support gradient_division in sync collectives and its compilation -> Done\n- Test coverage of sync collectives comparing results with async collectives and compilation.\n - Fixed Missing wait_tensor\nThe warning:\n```\nW0520 07:16:25.135696 2546100 Functional.cpp:51] Warning: At the time of process termination, there are still 1 unwaited c10d_functional collective calls. Please review your program to ensure c10d_functional.wait_tensor() is invoked on all tensors returned from c10d_functional collective ops before they are used. (function ~WorkRegistry)\nok\n```\n\nReviewed By: ezyang\n\nDifferential Revision: D57774293\n\nfbshipit-source-id: 76da888f4b6e876aa1ad170857e7db76ac418122","shortMessageHtmlLink":"Sync collectives refactoring (#2039)"}},{"before":"b64088b6e749d36e74ba2ed63e70f96d73a74676","after":"cdc45721303ab307b118d01c2dd2859dbb62728e","ref":"refs/heads/nightly","pushedAt":"2024-05-24T11:35:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-24 nightly release (f24c8dcef66504c4dd1473315408c96c50627665)","shortMessageHtmlLink":"2024-05-24 nightly release (f24c8dc)"}},{"before":"6854114ed13629da016e4d81bcafd5d9448c89f9","after":"f24c8dcef66504c4dd1473315408c96c50627665","ref":"refs/heads/main","pushedAt":"2024-05-24T05:50:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Wrap block_bucketize_sparse_features_inference to make unbucketize_permute non optional (#2028)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2028\n\nIn rw shaarding, unbucketize_permute always return value. The optional value will break the fx trace in _conversion_module\"\n\nExpected a value of type 'List[Tensor]' for argument 'tensors' but instead found type 'List[Optional[Tensor]]'.\n:\n File \".70\", line 235\n values_41 = getitem_86.values()\n offsets_32 = getitem_86.offsets(); getitem_86 = None\n _conversion_module = self._conversion_module([getattr_10, getitem_69, getattr_11, getattr_13]); getattr_10 = getitem_69 = getattr_11 = getattr_13 = None\n ~~~~~~~~~~~~~~~~~~~~~ <--- HERE\n\nReviewed By: YazhiGao\n\nDifferential Revision: D57629524\n\nfbshipit-source-id: 9747d573c1c8a08e3b100cc87bc04ce7e059e59c","shortMessageHtmlLink":"Wrap block_bucketize_sparse_features_inference to make unbucketize_pe…"}},{"before":"d5c358a5ead66615cf569547493fa8634ee38808","after":"6854114ed13629da016e4d81bcafd5d9448c89f9","ref":"refs/heads/main","pushedAt":"2024-05-24T02:07:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Revert D57564130: Sync collectives refactoring\n\nDifferential Revision:\nD57564130\n\nOriginal commit changeset: e059393c4859\n\nOriginal Phabricator Diff: D57564130\n\nfbshipit-source-id: 8b041fa87a44323a895c78b799b0ec27ddfe81fb","shortMessageHtmlLink":"Revert D57564130: Sync collectives refactoring"}},{"before":"c972d5466040a4df3060cccc463a9087cd989f6d","after":"d5c358a5ead66615cf569547493fa8634ee38808","ref":"refs/heads/main","pushedAt":"2024-05-23T21:26:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"permute_2D_sparse_data Autogad formula (#2034)\n\nSummary:\nX-link: https://github.com/pytorch/FBGEMM/pull/2625\n\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2034\n\nAdding permute_2D_sparse_data python formula for Inductor compilation.\n\nIt's needed for Torchrec sync collectives - verifying with torchrec/distributed/tests:test_comm that tests fwd and bwd for collectives that use this op.\n\nReviewed By: williamwen42\n\nDifferential Revision: D57625720\n\nfbshipit-source-id: 4596111afb12e1e72e643f929497e5941b8706bc","shortMessageHtmlLink":"permute_2D_sparse_data Autogad formula (#2034)"}},{"before":"a29c82ec861c9f925273eeb7536d241dd23e8559","after":"c972d5466040a4df3060cccc463a9087cd989f6d","ref":"refs/heads/main","pushedAt":"2024-05-23T18:52:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add jit script KJT benchmarks (#2033)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2033\n\nAdd benchmarks for jit scripted KJT methods\n\nReviewed By: gnahzg\n\nDifferential Revision: D57701618\n\nfbshipit-source-id: 4b09ab6841fb151f8d008ef0cbbc1ed5e78f1eef","shortMessageHtmlLink":"Add jit script KJT benchmarks (#2033)"}},{"before":"dfa817c7611559df1e13ffdee6e812a3a494b455","after":"96446ee392bee32cd01365515013ecb6e6e62aac","ref":"refs/heads/gh-pages","pushedAt":"2024-05-23T15:21:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ a29c82ec861c9f925273eeb7536d241dd23e8559 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ a29c82e πŸš€"}},{"before":"a4b060218f71daa7cd1549088d8f45c073e2f5ab","after":"a29c82ec861c9f925273eeb7536d241dd23e8559","ref":"refs/heads/main","pushedAt":"2024-05-23T15:17:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"c10::optional -> std::optional in torchrec/inference/include/torchrec/inference/GPUExecutor.h +4 (#2035)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2035\n\nGenerated with\n```\nfbgs -f '.*\\.(cpp|cxx|cc|h|hpp|cu|cuh)$' c10::optional -l | perl -pe 's/^fbsource.fbcode.//' | grep -v executorch | xargs -n 50 perl -pi -e 's/c10::optional/std::optional/'\n```\n\n - If you approve of this diff, please use the \"Accept & Ship\" button :-)\n\n(4 files modified.)\n\nReviewed By: palmje\n\nDifferential Revision: D57631092\n\nfbshipit-source-id: 8c90162c3864d50737ab0ca864e9240f900c17e5","shortMessageHtmlLink":"c10::optional -> std::optional in torchrec/inference/include/torchrec…"}},{"before":"548fe7df7b51718dfba63332d0f59cb6a1207996","after":"b64088b6e749d36e74ba2ed63e70f96d73a74676","ref":"refs/heads/nightly","pushedAt":"2024-05-23T11:34:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-23 nightly release (a4b060218f71daa7cd1549088d8f45c073e2f5ab)","shortMessageHtmlLink":"2024-05-23 nightly release (a4b0602)"}},{"before":"c2f4eed6920564b2713eca4b27d9c98262d63fc3","after":"a4b060218f71daa7cd1549088d8f45c073e2f5ab","ref":"refs/heads/main","pushedAt":"2024-05-22T19:55:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Break circular dependency on KeyedOptimizer (#2030)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2030\n\nThere is a circular dependency between `torchrec.optim` and `torchrec.distributed`. Example failure trace:\n```\nfrom torchrec.optim.keyed import KeyedOptimizer, OptimizerWrapper\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/optim/__init__.py\", line 23, in \n from torchrec.optim.clipping import GradientClipping, GradientClippingOptimizer # noqa\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/optim/clipping.py\", line 14, in \n from torchrec.optim.keyed import KeyedOptimizer, OptimizerWrapper\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/optim/keyed.py\", line 29, in \n from torchrec.distributed.types import ShardedTensor\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/__init__.py\", line 38, in \n from torchrec.distributed.model_parallel import DistributedModelParallel # noqa\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/model_parallel.py\", line 26, in \n from torchrec.distributed.planner import EmbeddingShardingPlanner, Topology\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/planner/__init__.py\", line 24, in \n from torchrec.distributed.planner.planners import EmbeddingShardingPlanner # noqa\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/planner/planners.py\", line 22, in \n from torchrec.distributed.planner.enumerators import EmbeddingEnumerator\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/planner/enumerators.py\", line 30, in \n from torchrec.distributed.sharding_plan import calculate_shard_sizes_and_offsets\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/sharding_plan.py\", line 19, in \n from torchrec.distributed.embedding import EmbeddingCollectionSharder\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/embedding.py\", line 35, in \n from torchrec.distributed.sharding.cw_sequence_sharding import (\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/sharding/cw_sequence_sharding.py\", line 14, in \n from torchrec.distributed.embedding_lookup import (\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/embedding_lookup.py\", line 27, in \n from torchrec.distributed.batched_embedding_kernel import (\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/distributed/batched_embedding_kernel.py\", line 62, in \n from torchrec.optim.fused import (\n File \"/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/optim/fused.py\", line 14, in \n from torchrec.optim.keyed import KeyedOptimizer\nImportError: cannot import name 'KeyedOptimizer' from partially initialized module 'torchrec.optim.keyed' (most likely due to a circular import) (/data/sandcastle/boxes/eden-trunk-hg-fbcode-fbsource/buck-out/v2/gen/fbcode/f6ce11a18cff399f/apf_cli/compare/tests/__command_test__/command_test#link-tree/torchrec/optim/keyed.py)\n```\n\nReviewed By: dstaay-fb\n\nDifferential Revision: D57656790\n\nfbshipit-source-id: d3c440a08c8f2008e01637983f0f8c3c71f9bc14","shortMessageHtmlLink":"Break circular dependency on KeyedOptimizer (#2030)"}},{"before":"7d7b4df0d14a28cd66c6fea1e35c6182b3bb564c","after":"c2f4eed6920564b2713eca4b27d9c98262d63fc3","ref":"refs/heads/main","pushedAt":"2024-05-22T19:49:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Support flushing in StagedTrainPipeline (#2032)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2032\n\nSupport ability to flush the current pipeline (i.e. finish processing all the inflight batches while pausing reading from dataloader), run a custom callback, and then resume again.\n\nThe trainer can check if the pipeline should be flushed, call `pipeline.set_flush(True)` to mark the pipeline to be flushed, and expect `on_flush_end` callback function to be invoked when it is completely flushed. I decided against naming the API `pipeline.flush()` as it might wrongly convey to users that pipeline will be immediately flushed upon invocation. Rather, we are marking the pipeline as being flushed so that it can internally handle calling the post-flush callback.\n\nReviewed By: zzzwen, murphymatt\n\nDifferential Revision: D57520129\n\nfbshipit-source-id: fff6e4ba11e297e89c51c7879c81d76e0df6d26f","shortMessageHtmlLink":"Support flushing in StagedTrainPipeline (#2032)"}},{"before":"0a6ef4e89eae695dca34245827d51221dfef1e81","after":"7d7b4df0d14a28cd66c6fea1e35c6182b3bb564c","ref":"refs/heads/main","pushedAt":"2024-05-22T17:27:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix Dynamic Embedding CI breakage (#2031)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2031\n\nFix CI\n\nReviewed By: gnahzg\n\nDifferential Revision: D57672969\n\nfbshipit-source-id: 035390fd81491c7d4ea3e3330eb4238bd3943efe","shortMessageHtmlLink":"Fix Dynamic Embedding CI breakage (#2031)"}},{"before":"119f7b5b41f2e101138460aefe73593c0b31595c","after":"dfa817c7611559df1e13ffdee6e812a3a494b455","ref":"refs/heads/gh-pages","pushedAt":"2024-05-22T17:19:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ 0a6ef4e89eae695dca34245827d51221dfef1e81 πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 0a6ef4e πŸš€"}},{"before":"269577a9b5e52232fd3d4dd71cb877514cea3d8e","after":"0a6ef4e89eae695dca34245827d51221dfef1e81","ref":"refs/heads/main","pushedAt":"2024-05-22T16:26:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Sync collectives refactoring (#2025)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2025\n\nThe diff refactors torchrec sync collectives and addresses issues with missing wait_tensor() for backward:\n- Refactoring using latest Torchrec Library Custom Op API with PT2 compatibility\n- Removing non-Native functional collectives calls (c10d_functional), as only native exist now in pytorch and non-native are redispatched to native.\n- Adding test cases for compiled-with-noncompiled ranks (in case of compilation failure on one of the ranks)\n\nIssues fixed:\n- Sync collectives eager backward did not produce gradient -> Fixed\n- Support gradient_division in sync collectives and its compilation -> Done\n- Test coverage of sync collectives comparing results with async collectives and compilation.\n - Fixed Missing wait_tensor\nThe warning:\n```\nW0520 07:16:25.135696 2546100 Functional.cpp:51] Warning: At the time of process termination, there are still 1 unwaited c10d_functional collective calls. Please review your program to ensure c10d_functional.wait_tensor() is invoked on all tensors returned from c10d_functional collective ops before they are used. (function ~WorkRegistry)\nok\n```\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D57564130\n\nfbshipit-source-id: e059393c4859e71a0181c779429e6b704dfb69b5","shortMessageHtmlLink":"Sync collectives refactoring (#2025)"}},{"before":"1af91ec5bb099a141357c21aead923952fb987c7","after":"548fe7df7b51718dfba63332d0f59cb6a1207996","ref":"refs/heads/nightly","pushedAt":"2024-05-22T11:35:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-22 nightly release (269577a9b5e52232fd3d4dd71cb877514cea3d8e)","shortMessageHtmlLink":"2024-05-22 nightly release (269577a)"}},{"before":"f9beba1849f9545d0bf94e17e909f4f308c869cc","after":"269577a9b5e52232fd3d4dd71cb877514cea3d8e","ref":"refs/heads/main","pushedAt":"2024-05-22T04:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Bug prevention - remove torch.jit.trace specific logic from kjt (#2024)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2024\n\nGenerally, KJT cannot safely be torch.jit.trace and will lead to unexpected/undefined behavior including hard to trace NE issues. one legacy reference exists; lets remove to avoid silent errors / latent bugs.\n\nReviewed By: TroyGarden\n\nDifferential Revision:\nD57599024\n\nPrivacy Context Container: 1203980333745195\n\nfbshipit-source-id: 00c14e6217996252315b0e0de9aff88fa3112040","shortMessageHtmlLink":"Bug prevention - remove torch.jit.trace specific logic from kjt (#2024)"}},{"before":"74ba43a272c9d96d19dd73782604c2b639c5e399","after":"f9beba1849f9545d0bf94e17e909f4f308c869cc","ref":"refs/heads/main","pushedAt":"2024-05-21T22:20:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"log out kernel storage usage stats for analysis (#2016)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2016\n\nas title, adding storage logging based on kernel type\n\nReviewed By: henrylhtsang\n\nDifferential Revision: D57472326\n\nfbshipit-source-id: b5d16f9b69117ded08620778191399a59dcd1d20","shortMessageHtmlLink":"log out kernel storage usage stats for analysis (#2016)"}},{"before":"56892a8a805c091095f4014124fe80343caffe1b","after":"74ba43a272c9d96d19dd73782604c2b639c5e399","ref":"refs/heads/main","pushedAt":"2024-05-21T18:02:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Put permute kjt to input_dist (#2027)\n\nSummary: Pull Request resolved: https://github.com/pytorch/torchrec/pull/2027\n\nReviewed By: jiayisuse, YazhiGao\n\nDifferential Revision: D57597657\n\nfbshipit-source-id: c42402b2388c5f98bec2a69a15a5aa2a50297ffe","shortMessageHtmlLink":"Put permute kjt to input_dist (#2027)"}},{"before":"75001187e2eed6faace25308374fa3fe75d5bb98","after":"119f7b5b41f2e101138460aefe73593c0b31595c","ref":"refs/heads/gh-pages","pushedAt":"2024-05-21T15:46:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ 56892a8a805c091095f4014124fe80343caffe1b πŸš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 56892a8 πŸš€"}},{"before":"ea04dac754320b0029e8f9f45c20bd662b8f1451","after":"56892a8a805c091095f4014124fe80343caffe1b","ref":"refs/heads/main","pushedAt":"2024-05-21T15:39:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Pyre Configurationless migration for] [batch:23/25] (#2026)\n\nSummary: Pull Request resolved: https://github.com/pytorch/torchrec/pull/2026\n\nReviewed By: connernilsen\n\nDifferential Revision: D57612485\n\nfbshipit-source-id: 9375dbf27fb1a51edc917e74bfda0eb42bbc64f4","shortMessageHtmlLink":"Pyre Configurationless migration for] [batch:23/25] (#2026)"}},{"before":"1ffb0b581b7094719c2e19829e9566204c0b2122","after":"1af91ec5bb099a141357c21aead923952fb987c7","ref":"refs/heads/nightly","pushedAt":"2024-05-21T11:35:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pytorchbot","name":null,"path":"/pytorchbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/21957446?s=80&v=4"},"commit":{"message":"2024-05-21 nightly release (ea04dac754320b0029e8f9f45c20bd662b8f1451)","shortMessageHtmlLink":"2024-05-21 nightly release (ea04dac)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVl83kQA","startCursor":null,"endCursor":null}},"title":"Activity Β· pytorch/torchrec"}