{"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:1717426984.0","currentOid":""},"activityList":{"items":[{"before":"3226b167e77287cd11bf8993df19ce555b765aa9","after":"3d799621597fc76906a87caa4327483112d86fdf","ref":"refs/heads/main","pushedAt":"2024-06-05T03:04: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":"Autograd backward Streams + DPP + Optimzer.step race condition (#2071)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2071\n\nLSS: basically empirical determined we cannot safely schedule work onto a stream without relying on autograds implicit stream sync when combined with DDP. working on long term solution, but does block our ability short term to start optimizer before completing full backward pass; for now backing out this optimize to unblock exploration\n\nReviewed By: emlin\n\nDifferential Revision:\nD57942834\n\nPrivacy Context Container: 1203980333745195\n\nfbshipit-source-id: 87c7706527d36c4056e5d72f51ac5c04f0b29dd7","shortMessageHtmlLink":"Autograd backward Streams + DPP + Optimzer.step race condition (#2071)"}},{"before":"78329a0dace2b1ef77a2cd3090b85e018a935179","after":"3226b167e77287cd11bf8993df19ce555b765aa9","ref":"refs/heads/main","pushedAt":"2024-06-04T21:27:42.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":"separate out input dist tensors a2a out of embedding lookup stage to make it async (#2069)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2069\n\nin the semi sync pipeline the start embedding lookup stage will call wait async on the input dist splits a2a then synchronously call wait on the tensors a2a. this will block the cpu waiting for the tensors a2a to finish. This diff follows the paradigm we have in train pipeline sparse dist which separates out the input dist into 2 stages so the a2as can be done asynchronously.\n\nalso in the embedding lookup stage we need to call wait on the tensor requests first so that the d2h sync that exists won't wait on work from previous module.\n\nReviewed By: dstaay-fb\n\nDifferential Revision: D58117193\n\nfbshipit-source-id: 292f8b6b259fbdfe4f953994e94ae523487efcc6","shortMessageHtmlLink":"separate out input dist tensors a2a out of embedding lookup stage to โ€ฆ"}},{"before":"81e37b5600ece945580a62e8344e54fb58a795e2","after":"f10f81d0c94bac4ce03eb8c1191baf894bc96188","ref":"refs/heads/gh-pages","pushedAt":"2024-06-04T19:57:38.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 @ 78329a0dace2b1ef77a2cd3090b85e018a935179 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 78329a0 ๐Ÿš€"}},{"before":"df78731b869e6d3e7ab9d64de8953760fb37da12","after":"78329a0dace2b1ef77a2cd3090b85e018a935179","ref":"refs/heads/main","pushedAt":"2024-06-04T19:55:31.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":"Enable AIT lowering for eager processed models on AIMP (#2055)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2055\n\nFix Lowering for eager model processing path on AIMP. Before this diff, the device passed to merge_pooled_embeddings did not have an associated index, which will cause lowering to fail. Once index was present, refer to this post: https://fb.workplace.com/groups/gpuinference/permalink/830694592261282/, resulting in the need for the separate module as suggested by kflu\n\nReviewed By: ZhengkaiZ\n\nDifferential Revision: D57297185\n\nfbshipit-source-id: a2aa78c731dca91d123f7d7e91b8555d61cb890f","shortMessageHtmlLink":"Enable AIT lowering for eager processed models on AIMP (#2055)"}},{"before":"5d87159a8d3a2b5efff502b299c80abaf0df98a4","after":"1e12b6eff4ede73d9a189253b0908f55a6958454","ref":"refs/heads/nightly","pushedAt":"2024-06-04T11:34:36.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-06-04 nightly release (df78731b869e6d3e7ab9d64de8953760fb37da12)","shortMessageHtmlLink":"2024-06-04 nightly release (df78731)"}},{"before":"92bb6eab51aa1e3fb8c427f6814d47ace4350519","after":"df78731b869e6d3e7ab9d64de8953760fb37da12","ref":"refs/heads/main","pushedAt":"2024-06-03T19:16:36.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 device hardcoding in graph (#2065)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2065\n\nUsing self.device hardcodes the device into the fx graph when traced, especially as the function is not fx wrapped. Having the device depend on the input device fixes this issue\n\nReviewed By: umooya\n\nDifferential Revision: D58090380\n\nfbshipit-source-id: f1b5162540f59a3a5965db0c30ca38e554dcdcab","shortMessageHtmlLink":"Fix device hardcoding in graph (#2065)"}},{"before":"cd470f8623a537306ba48dd197c53830c75b3e75","after":"92bb6eab51aa1e3fb8c427f6814d47ace4350519","ref":"refs/heads/main","pushedAt":"2024-06-03T18:37:51.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 imbalance stats for total perf, hbm and ddr (#2040)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2040\n\nAdd and log 4 ways to measure imbalance of generated sharding plan.\n\nSuppose we have $k$ gpus. Let $s$ be a vector where the $i^{th}$ component is the total size currently allocated to the $i^{th}$ device.\n\nFirst we normalize vector $s$ such that sum of elements in $p$ equals 1. We can view this as a probability distribution, and to get a measure of imbalance, we can measure its deviation from uniform distribution $p$ using one of the following ways:\n\n- total variations\n- total distance\n- chi divergence\n- KL divergence\n\nReviewed By: henrylhtsang\n\nDifferential Revision: D57465383\n\nfbshipit-source-id: a22d59b17461dea46478b12beafe1b95c3331f62","shortMessageHtmlLink":"Add imbalance stats for total perf, hbm and ddr (#2040)"}},{"before":"2f49001e7cdae422c22b8248731921dac2f08247","after":"81e37b5600ece945580a62e8344e54fb58a795e2","ref":"refs/heads/gh-pages","pushedAt":"2024-06-03T17:01:45.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 @ cd470f8623a537306ba48dd197c53830c75b3e75 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ cd470f8 ๐Ÿš€"}},{"before":"9ce1982927372d1c669250dbca00e98c2ad697c8","after":"cd470f8623a537306ba48dd197c53830c75b3e75","ref":"refs/heads/main","pushedAt":"2024-06-03T16:59:33.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":"util function for marking input KJT dynamic (#2058)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2058\n\n# context\n* In the IR export workflow, the module takes KJTs as input and produces an `ExportedProgram` of the module\n* KJT actually has a variable length for the values and weights\n* This dynamic nature of KJT needs to be explicitly passed to torch.export\n\n# changes\n* add a util function to mark the input KJT's dynamic shape\n* add in the test of how to correctly specify the dynamics shapes for the input KJT\n\n# results\n* input KJTs with different value lengths\n```\n(Pdb) feature1.values()\ntensor([0, 1, 2, 3, 2, 3])\n(Pdb) feature2.values()\ntensor([0, 1, 2, 3, 2, 3, 4])\n```\n* exported_program can take those input KJTs\n```\n(Pdb) ep.module()(feature1)\n[tensor([[-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16],\n [-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16]]), tensor([[-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16, -1.4368e-15,\n -1.4368e-15, -1.4368e-15, -1.4368e-15],\n [-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16, -1.4368e-15,\n -1.4368e-15, -1.4368e-15, -1.4368e-15]])]\n(Pdb) ep.module()(feature2)\n[tensor([[-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16],\n [-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16]]), tensor([[-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16, -1.4368e-15,\n -1.4368e-15, -1.4368e-15, -1.4368e-15],\n [-2.8735e-16, -2.8735e-16, -2.8735e-16, -2.8735e-16, -1.4368e-15,\n -1.4368e-15, -1.4368e-15, -1.4368e-15]])]\n```\n* deserialized module can take those input KJTs\n```\n(Pdb) deserialized_model(feature1)\n[tensor([[ 0.2630, 0.1473, -0.3691, 0.2261],\n [ 0.0000, 0.0000, 0.0000, 0.0000]],\n grad_fn=), tensor([[ 0.2198, -0.1648, -0.0121, 0.1998, -0.0384, -0.2458, -0.6844, 0.8741],\n [ 0.1313, 0.2968, -0.2979, -0.2150, -0.2593, 0.6758, 1.0010, 0.9052]],\n grad_fn=)]\n(Pdb) deserialized_model(feature2)\n[tensor([[ 0.2630, 0.1473, -0.3691, 0.2261],\n [ 0.0000, 0.0000, 0.0000, 0.0000]],\n grad_fn=), tensor([[ 0.2198, -0.1648, -0.0121, 0.1998, -0.0384, -0.2458, -0.6844, 0.8741],\n [ 0.1313, 0.2968, -0.2979, -0.2150, -0.9359, 0.1123, 0.5834, -0.1357]],\n grad_fn=)]\n```\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D57824907\n\nfbshipit-source-id: 615f602314e6517dba37e83eea5066de5950dc42","shortMessageHtmlLink":"util function for marking input KJT dynamic (#2058)"}},{"before":"aa191c784ef4de0bb65d3c91dab81ecf5edcf3c9","after":"5d87159a8d3a2b5efff502b299c80abaf0df98a4","ref":"refs/heads/nightly","pushedAt":"2024-06-03T11:34:34.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-06-03 nightly release (9ce1982927372d1c669250dbca00e98c2ad697c8)","shortMessageHtmlLink":"2024-06-03 nightly release (9ce1982)"}},{"before":"0783d0ad9075da7bc5db70816f5e90586090fd6e","after":"aa191c784ef4de0bb65d3c91dab81ecf5edcf3c9","ref":"refs/heads/nightly","pushedAt":"2024-06-02T11:35:08.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-06-02 nightly release (9ce1982927372d1c669250dbca00e98c2ad697c8)","shortMessageHtmlLink":"2024-06-02 nightly release (9ce1982)"}},{"before":"46aaccd9c3d3c6dec15f849c0c13edf2e0be5f37","after":"0783d0ad9075da7bc5db70816f5e90586090fd6e","ref":"refs/heads/nightly","pushedAt":"2024-06-01T11: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-06-01 nightly release (9ce1982927372d1c669250dbca00e98c2ad697c8)","shortMessageHtmlLink":"2024-06-01 nightly release (9ce1982)"}},{"before":"170559340efe9ae5b99a4ee0e89a0f40db047a5c","after":"46aaccd9c3d3c6dec15f849c0c13edf2e0be5f37","ref":"refs/heads/nightly","pushedAt":"2024-05-31T11: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-31 nightly release (9ce1982927372d1c669250dbca00e98c2ad697c8)","shortMessageHtmlLink":"2024-05-31 nightly release (9ce1982)"}},{"before":"f8b15d4f4d83565105bacac8a174ff699645f816","after":"9ce1982927372d1c669250dbca00e98c2ad697c8","ref":"refs/heads/main","pushedAt":"2024-05-30T23:01:08.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":"unify seq rw input_dist (#2051)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2051\n\n* unify unnecessary branching for input_dist module\n* fx wrap some splits for honoring non-optional points.\n\nReviewed By: jingsh, gnahzg, yumin829928\n\nDifferential Revision: D57876357\n\nfbshipit-source-id: 1baeb35e0280f251cf451dc5d65e5a8cab378555","shortMessageHtmlLink":"unify seq rw input_dist (#2051)"}},{"before":"70b62de0ecb602e8ee826273d65ccd2fa2e88331","after":"f8b15d4f4d83565105bacac8a174ff699645f816","ref":"refs/heads/main","pushedAt":"2024-05-30T18:52:10.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 output size parameter to avoid d2h sync in keyed_jagged_index_select_dim1 (#2061)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2061\n\ntsia\n\nReviewed By: henrylhtsang\n\nDifferential Revision: D57950869\n\nfbshipit-source-id: 2b4d0015b0140fdc96b19feb766cd60061040b27","shortMessageHtmlLink":"add output size parameter to avoid d2h sync in keyed_jagged_index_selโ€ฆ"}},{"before":"c046202db6d7f38b8bc927f05fbe675183168fc5","after":"2f49001e7cdae422c22b8248731921dac2f08247","ref":"refs/heads/gh-pages","pushedAt":"2024-05-30T18:23:05.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 @ 70b62de0ecb602e8ee826273d65ccd2fa2e88331 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 70b62de ๐Ÿš€"}},{"before":"2c183039f35f4a32e73c2fefa93f36f96ff63bec","after":"70b62de0ecb602e8ee826273d65ccd2fa2e88331","ref":"refs/heads/main","pushedAt":"2024-05-30T18:20:58.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 a test issue (#2060)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2060\n\nto fix a broken test: https://github.com/pytorch/torchrec/actions/runs/9295841173/job/25613611044\n```\n=========================== short test summary info ============================\nFAILED torchrec/distributed/tests/test_quant_model_parallel.py::QuantModelParallelModelCopyTest::test_copy_mixin - hypothesis.errors.InvalidArgument: Using `settings` on a test without `given` is completely pointless.\n===== 1 failed, 569 passed, 226 skipped, 195 warnings in 257.76s (0:04:17) =====\n```\n\nReviewed By: gnahzg\n\nDifferential Revision: D57972148\n\nfbshipit-source-id: 7828ad1a73a99202444f290526dd713ee8606ae1","shortMessageHtmlLink":"fix a test issue (#2060)"}},{"before":"2f08b8e62a4240966353e39bf8561c3c69b18c09","after":"170559340efe9ae5b99a4ee0e89a0f40db047a5c","ref":"refs/heads/nightly","pushedAt":"2024-05-30T11:34:58.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-30 nightly release (2c183039f35f4a32e73c2fefa93f36f96ff63bec)","shortMessageHtmlLink":"2024-05-30 nightly release (2c18303)"}},{"before":"73e526e84221602aad7f34ae764525edc1ddccfc","after":"2c183039f35f4a32e73c2fefa93f36f96ff63bec","ref":"refs/heads/main","pushedAt":"2024-05-29T21:49:49.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 test for optimizer load state dict (#2056)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2056\n\nThis test checks two things:\n* for optimizer with states, they need to be load_state_dict in order for numerical equivalence.\n* optimizer state dict and load state dict work as expected\n\nReviewed By: zainhuda\n\nDifferential Revision: D57921839\n\nfbshipit-source-id: a59dc6b33c19ee54306918bd388fb84bee1d5c3c","shortMessageHtmlLink":"Add test for optimizer load state dict (#2056)"}},{"before":"808c24376d93cbafed6ef2a799cb27483c8904c7","after":"73e526e84221602aad7f34ae764525edc1ddccfc","ref":"refs/heads/main","pushedAt":"2024-05-29T20:14:36.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":"remove unnecessary include inverse indices option in KJT permute (#2057)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2057\n\ntsia\n\nReviewed By: zainhuda\n\nDifferential Revision: D57883618\n\nfbshipit-source-id: b18567abef387f9fb2a5f09a4259ba8c9fdd60e0","shortMessageHtmlLink":"remove unnecessary include inverse indices option in KJT permute (#2057)"}},{"before":"12b1a499bd5253ce8c4e8a18c44c0f25f0c3c3cf","after":"808c24376d93cbafed6ef2a799cb27483c8904c7","ref":"refs/heads/main","pushedAt":"2024-05-29T19:33:45.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 min/max carry over for eager mode from_float method (#2046)\n\nSummary:\nX-link: https://github.com/pytorch/pytorch/pull/127309\n\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2046\n\nAfter QAT is completed or given pre-tuned weight observer via tunable PTQ algorithm, it should not over-write again with a given weight, at least for static QAT never.\n\nDynamic QAT also does not require to re-run weight observer again by design.\n\nThis is a fix\n\nReviewed By: jerryzh168\n\nDifferential Revision: D57747749\n\nfbshipit-source-id: 231937f64c6dc53cc79b35bb94534fdaa84e7da1","shortMessageHtmlLink":"Support min/max carry over for eager mode from_float method (#2046)"}},{"before":"b22a19d0211c8dcfcde29cd3637923fdda2c9eb4","after":"12b1a499bd5253ce8c4e8a18c44c0f25f0c3c3cf","ref":"refs/heads/main","pushedAt":"2024-05-29T19:26:54.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 device argument in the deserialization function (#2041)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2041\n\n# context\n* current deserialization on the serialized embedding modules (from torch.export) will place the modules on the default device\n* we would like to add more control over the desrialization function so that we can specify on which device we would like the deserialized modules be\n* the rationale behind this is that we often want the deserialized module on a **meta** device, and then shard the module (basically replace the module with a sharded version).\n* by doing this it can save the cost of creating an actual deserialized module on a CPU or GPU device.\n\n# changes\n1. we added an optional argument `device` to the `SerializerInterface` class, so that all the serializer should follow the same sematics\n2. the default value is `None`, and we are expecting **this default value would always lead to the same behavior** as prior to this change\n3. modified the `deserialize` function for `EBCJsonSerializer`, and confirmed that if the given `device` argument is `None`, the logic should be the same as before\n4. modified the `deserialize` function for `PEAThriftSerializer`, and confirmed that the`__init__` function for `PositionWeightedModulePEA` and `PooledEmbeddingArch` both have default for `device=None`\n5. modified the `deserialize` function for `EBCThriftSerializer`, and confirmed that the`__init__` function for `EmbeddingBagCollection` has default for `device=None`\n\n# reference\n1. [code search](https://fburl.com/code/1jyxadpi) for the `SerializerInterface`\n{F1649407030}\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D57808349\n\nfbshipit-source-id: 32aab00222581269d82568de491ba55af94033d4","shortMessageHtmlLink":"Add device argument in the deserialization function (#2041)"}},{"before":"41aaf6407c32d90c775ccdadbc40f979aeabc0bd","after":"c046202db6d7f38b8bc927f05fbe675183168fc5","ref":"refs/heads/gh-pages","pushedAt":"2024-05-29T17:08:58.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 @ b22a19d0211c8dcfcde29cd3637923fdda2c9eb4 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ b22a19d ๐Ÿš€"}},{"before":"a71f04967b7c58726d0a2e73401d0f5b58dc0738","after":"b22a19d0211c8dcfcde29cd3637923fdda2c9eb4","ref":"refs/heads/main","pushedAt":"2024-05-29T17:05: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":"Add back autoplanner tests (#2048)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2048\n\nAs titled\n\nReviewed By: jingsh\n\nDifferential Revision: D57866623\n\nfbshipit-source-id: 7bea3e08c6912efac1d1f0419ff214d870384af9","shortMessageHtmlLink":"Add back autoplanner tests (#2048)"}},{"before":"636ba32e8fa0861ff2dabc760739b10583f3ac9e","after":"2f08b8e62a4240966353e39bf8561c3c69b18c09","ref":"refs/heads/nightly","pushedAt":"2024-05-29T11:34:48.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-29 nightly release (a71f04967b7c58726d0a2e73401d0f5b58dc0738)","shortMessageHtmlLink":"2024-05-29 nightly release (a71f049)"}},{"before":"b4f7649427334809c26b7010acfbb4f416ae16f7","after":"a71f04967b7c58726d0a2e73401d0f5b58dc0738","ref":"refs/heads/main","pushedAt":"2024-05-29T02:27:20.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 empty tensor list for KeyedTensor.regroup (#2053)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2053\n\nWhen we configure empty sparse feature list, the embedding lookup results could be an empty list.\n\nThis is for unblocking the experiment in D57450566 (leaving only dense features in APS models)\n\nReviewed By: dstaay-fb\n\nDifferential Revision: D57500720\n\nfbshipit-source-id: 056a1171ca73dba9895958f540b793d86bdb946f","shortMessageHtmlLink":"Support empty tensor list for KeyedTensor.regroup (#2053)"}},{"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โ€ฆ"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXKWLHAA","startCursor":null,"endCursor":null}},"title":"Activity ยท pytorch/torchrec"}