{"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:1726771202.0","currentOid":""},"activityList":{"items":[{"before":"f175417b0cdf58e01e54c6bcfcf8a6ddf94d6985","after":"82a1d3298d9b7982ee9793b1aadc47bbd232237f","ref":"refs/heads/main","pushedAt":"2024-09-19T21:27:41.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 optimizer to notebook (#2405)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2405\n\nadd optimizer to tutorial notebook\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D63041649\n\nfbshipit-source-id: 575705f16edfe6c70e02f0df6a5d4a3c73e4450e","shortMessageHtmlLink":"add optimizer to notebook (#2405)"}},{"before":"32626512a0799f8a9ef10b5aab26954297d4d3a8","after":"f175417b0cdf58e01e54c6bcfcf8a6ddf94d6985","ref":"refs/heads/main","pushedAt":"2024-09-19T19:57:15.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 missing Pyre mode headers] [batch:22/24] [shard:2/N]\n\nDifferential Revision: D63020299\n\nfbshipit-source-id: e78237eee507575850c5a86d982a5657a5f38b1b","shortMessageHtmlLink":"Add missing Pyre mode headers] [batch:22/24] [shard:2/N]"}},{"before":"32626512a0799f8a9ef10b5aab26954297d4d3a8","after":"61607cf088d6e383b3b2dc0df1c7e933c37500eb","ref":"refs/heads/iamzainhuda-patch-1","pushedAt":"2024-09-19T18:40:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"iamzainhuda","name":null,"path":"/iamzainhuda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33561344?s=80&v=4"},"commit":{"message":"update tutorial notebook with optimizer","shortMessageHtmlLink":"update tutorial notebook with optimizer"}},{"before":null,"after":"32626512a0799f8a9ef10b5aab26954297d4d3a8","ref":"refs/heads/iamzainhuda-patch-1","pushedAt":"2024-09-19T18:40:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"iamzainhuda","name":null,"path":"/iamzainhuda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33561344?s=80&v=4"},"commit":{"message":"Quant FPEBC with automatic TBE registration and per_table_weight_dtype (#2400)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2400\n\nExposing TBE in Quant FPEBC and supporting per_table_weight_dtype for specific quantization of FPEBC tables\n\nReviewed By: ZhengkaiZ\n\nDifferential Revision: D62773718\n\nfbshipit-source-id: 6136082e0e6a9dad086236b2fe110ab63e942be8","shortMessageHtmlLink":"Quant FPEBC with automatic TBE registration and per_table_weight_dtype ("}},{"before":"745a0a9ae2ecc30511e33339c5bf4a196523cc8d","after":"e725c16015f97e91a5b456d040968cb019f2a7f2","ref":"refs/heads/nightly","pushedAt":"2024-09-19T11:34:47.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-09-19 nightly release (32626512a0799f8a9ef10b5aab26954297d4d3a8)","shortMessageHtmlLink":"2024-09-19 nightly release (3262651)"}},{"before":"e4650fc2b30130b4319900bd318e7288193cc5dc","after":"32626512a0799f8a9ef10b5aab26954297d4d3a8","ref":"refs/heads/main","pushedAt":"2024-09-19T00:50:09.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":"Quant FPEBC with automatic TBE registration and per_table_weight_dtype (#2400)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2400\n\nExposing TBE in Quant FPEBC and supporting per_table_weight_dtype for specific quantization of FPEBC tables\n\nReviewed By: ZhengkaiZ\n\nDifferential Revision: D62773718\n\nfbshipit-source-id: 6136082e0e6a9dad086236b2fe110ab63e942be8","shortMessageHtmlLink":"Quant FPEBC with automatic TBE registration and per_table_weight_dtype ("}},{"before":"90d62cb97d3a1e1556922f00a5d69d2ba451a72d","after":"e4650fc2b30130b4319900bd318e7288193cc5dc","ref":"refs/heads/main","pushedAt":"2024-09-18T19:38:21.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":"trec mc_modules optimization (#2378)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2378\n\ncurrent mc modules has does the following:\n\n* split input features individually by to_dict(). This is not necessary for zch as we can conduct zch at table level granularity. Change the logit to split by tables instead of individual features\n\n* preprocessing is assumed to be run always. this introduces extra split. In the case of faster zch, we do not need it. so adding support to skip.\n\nThese should mitigate the overheads we saw in both training and inference\n\nFollow-ups: I think we can change the interface of mc modules to take dict[str, tensor] instead of dict[str, jaggedTensor] as the operation is point wise, we do not need lengths info.\n\nReviewed By: dstaay-fb, emlin\n\nDifferential Revision: D62457484\n\nfbshipit-source-id: d335fe27051181e9f12ea7b6e12b5583d6600553","shortMessageHtmlLink":"trec mc_modules optimization (#2378)"}},{"before":"0b21e72d7b22028e9c023f215ef3a4405c28010c","after":"745a0a9ae2ecc30511e33339c5bf4a196523cc8d","ref":"refs/heads/nightly","pushedAt":"2024-09-18T11:34:49.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-09-18 nightly release (90d62cb97d3a1e1556922f00a5d69d2ba451a72d)","shortMessageHtmlLink":"2024-09-18 nightly release (90d62cb)"}},{"before":"b1ccc39d7cab473914abe5457164b747e6a16744","after":"90d62cb97d3a1e1556922f00a5d69d2ba451a72d","ref":"refs/heads/main","pushedAt":"2024-09-18T06:21:34.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":"Mertics support (#2401)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2401\n\n## Context\nIn the batch size scheduling (D61826323) , we need to ensure the metrics exported contains the correct x-axis in tensorboard (total_example in APF case), so different batch size scheduling config's metrics are comparable.\n {F1871308808}\n\nIn tensorboard, the x-axis is step, which gets from qps-qps|total_example key as shown the screenshot below.\n {F1871309808}\nThe qps|total_example key is generated in [throughput.py](https://www.internalfb.com/code/fbsource/[34cc55cc190c]/fbcode/torchrec/metrics/throughput.py?lines=196) as in\n{F1871554088}\n\nTherefore, we need to make the throughput.py returns the correct QPS.\n\n## Change\nThroughput.py is the class that calculate the QPS. It currently use the fixed [batch_size * world_size](https://fburl.com/code/7ki5hdod) to calculate the [total example](https://fburl.com/code/cemmfdyz), which needs to be changed.\nIn this change, we pass-in the batch_size_schedule config from the trainer to the throughput.py. So throughput.py tracks the 'num_batches' to figure out the correct batch_size, and thus calculate the total_examples correctly.\n\nReviewed By: iamzainhuda\n\nDifferential Revision: D62585952\n\nfbshipit-source-id: b9a21cb65763d722e38629b77cda3c2bde88fa23","shortMessageHtmlLink":"Mertics support (#2401)"}},{"before":"570c813a88377aaf721c86aa914f4ebbc8716f44","after":"cb05b51878ed0f77692536f8957e001f5e2c052c","ref":"refs/heads/gh-pages","pushedAt":"2024-09-17T23:56: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 @ b1ccc39d7cab473914abe5457164b747e6a16744 🚀","shortMessageHtmlLink":"Deploying to gh-pages from @ b1ccc39 🚀"}},{"before":"b0a87921a8c62f69115494ec68639b451da67ef0","after":"b1ccc39d7cab473914abe5457164b747e6a16744","ref":"refs/heads/main","pushedAt":"2024-09-17T23:54:11.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":"Hide experimental API documentation under tab (#2396)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2396\n\nHide legacy all API documentation on TorchRec documentation page\n\nReviewed By: iamzainhuda\n\nDifferential Revision: D62692308\n\nfbshipit-source-id: d0a642c5f09d20c727aa7f6a910c7eb86fa57276","shortMessageHtmlLink":"Hide experimental API documentation under tab (#2396)"}},{"before":"9874ba5c4a80bbdfad0d7d0ac4b0ed20388ca639","after":"b0a87921a8c62f69115494ec68639b451da67ef0","ref":"refs/heads/main","pushedAt":"2024-09-17T21:38:03.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":"JaggedTensors APIs schema unit test (#2397)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2397\n\nTorchRec KJT/KT/JT BC API tests\n\nReviewed By: aporialiao\n\nDifferential Revision: D62690514\n\nfbshipit-source-id: e51a20913fede17a11ca2e4bdd98ad35dc5be7dc","shortMessageHtmlLink":"JaggedTensors APIs schema unit test (#2397)"}},{"before":"3c815c608e5212a935bfcd22affed431030cedd6","after":"9874ba5c4a80bbdfad0d7d0ac4b0ed20388ca639","ref":"refs/heads/main","pushedAt":"2024-09-17T18:25: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":"short circuit the flatten/unflatten between EBC and KTRegroupAsDict modules (#2393)\n\nSummary:\nX-link: https://github.com/pytorch/pytorch/pull/136045\n\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2393\n\n# context\n* for the root cause and background please refer to this [post](https://fb.workplace.com/groups/1028545332188949/permalink/1042204770823005/)\n* basica idea of this diff is to **short circuit the pytree flatten-unflatten function pairs** between two preserved modules, i.e., EBC/fpEBC and KTRegroupAsDict.\nNOTE: There could be multiple EBCs and one single KTRegroupAsDict as shown in the [pic](https://fburl.com/gslide/lcyt8eh3) {F1864810545}\n* short-circuiting the EBC-KTRegroupAsDict pairs are very special and a must in most of the cases due to the EBC key-order issue with distributed table lookup.\n* hide all the operations behind a control flag `short_circuit_pytree_ebc_regroup` to the torchrec main api call `decapsulate_ir_modules`, which should only be visible to the infra layer, not to the users.\n\n# details\n* The `_short_circuit_pytree_ebc_regroup` function finds all the EBCs/fpEBC and KTRegroupAsDict modules in an unflattened module. Retrieve their fqns and sort to in_fqns (regroup_fqns) and out_fqns (ebc_fqns). Because currently the fpEBC is swapped as a whole, so we do some extra fqn logic to filter out the EBC that belongs to an up-level fpEBC.\n* a util function `prune_pytree_flatten_unflatten` removes the in-coming and out-going pytree flatten/unflatten function calls in the graph module, based on the given fqns.\n\nWARNING: The flag `short_circuit_pytree_ebc_regroup` should be turned on if EBCs are used and EBC sharding is needed. Assertions are also added if can't find a `KTRegroupAsDict` module, or `finalize_interpreter_modules` is not `True`.\n\n# additional changes\n* absorb the `finalize_interpreter_modules` process inside the torchrec main api `decapsulate_ir_modules`.\n* set `graph.owning_module` in export.unflatten as required by the graph modification\n* add one more layer of `sparse_module` for closely mimicing the APF model structure.\n\nReviewed By: malaybag\n\nDifferential Revision: D62606738\n\nfbshipit-source-id: 62bd2f069cfab634fbb689ee48b7bd82569239ab","shortMessageHtmlLink":"short circuit the flatten/unflatten between EBC and KTRegroupAsDict m…"}},{"before":"da1c43b07364051f4f9d974f8cae196e91dcaabb","after":"0b21e72d7b22028e9c023f215ef3a4405c28010c","ref":"refs/heads/nightly","pushedAt":"2024-09-17T11:34:59.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-09-17 nightly release (3c815c608e5212a935bfcd22affed431030cedd6)","shortMessageHtmlLink":"2024-09-17 nightly release (3c815c6)"}},{"before":"79100a07e80c2d04019bd73f449deb2a49ad1fd0","after":"da1c43b07364051f4f9d974f8cae196e91dcaabb","ref":"refs/heads/nightly","pushedAt":"2024-09-16T11:34:49.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-09-16 nightly release (3c815c608e5212a935bfcd22affed431030cedd6)","shortMessageHtmlLink":"2024-09-16 nightly release (3c815c6)"}},{"before":"be33e9edd793e8a99111bbef500f682c695a5e53","after":"79100a07e80c2d04019bd73f449deb2a49ad1fd0","ref":"refs/heads/nightly","pushedAt":"2024-09-15T11:35:01.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-09-15 nightly release (3c815c608e5212a935bfcd22affed431030cedd6)","shortMessageHtmlLink":"2024-09-15 nightly release (3c815c6)"}},{"before":"87e3c92996d341284d6d3051253737a8ccc1b2e3","after":"be33e9edd793e8a99111bbef500f682c695a5e53","ref":"refs/heads/nightly","pushedAt":"2024-09-14T11:35:12.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-09-14 nightly release (3c815c608e5212a935bfcd22affed431030cedd6)","shortMessageHtmlLink":"2024-09-14 nightly release (3c815c6)"}},{"before":"b1c81a200d13203e8b7c0ffb615282dfb98c2011","after":"3c815c608e5212a935bfcd22affed431030cedd6","ref":"refs/heads/main","pushedAt":"2024-09-13T21:29:29.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 KT.regroup to kT pytree unflatten function to preserve the correct key order (#2390)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2390\n\n# context\n* this diff basically re-order the keys in a KT every time after the flatten/unflatten step, based on the key order in the exported IR\n* This diff is the short-term solution regarding to [post](https://fb.workplace.com/groups/1028545332188949/permalink/1042204770823005/)\n {F1865696002}\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D59238744\n\nfbshipit-source-id: 4d12f45cd6c056c88648aa5ba7b0295b55b1d581","shortMessageHtmlLink":"Add KT.regroup to kT pytree unflatten function to preserve the correc…"}},{"before":"06572ad2a7acfc852a73eab1ed2b3ad3880861a1","after":"87e3c92996d341284d6d3051253737a8ccc1b2e3","ref":"refs/heads/nightly","pushedAt":"2024-09-13T11:34:49.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-09-13 nightly release (b1c81a200d13203e8b7c0ffb615282dfb98c2011)","shortMessageHtmlLink":"2024-09-13 nightly release (b1c81a2)"}},{"before":"e3f51d640b40a0f9a1d42b85da33d2d03e6d1adc","after":"b1c81a200d13203e8b7c0ffb615282dfb98c2011","ref":"refs/heads/main","pushedAt":"2024-09-13T00:39:05.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":"Test case for EBC key-order change (#2388)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2388\n\n# context\n* [post](https://fb.workplace.com/groups/1028545332188949/permalink/1042204770823005/)\n* this test case mimics the EBC key-order change after sharding\n {F1864056306}\n\n# details\n* it's a very simple model: EBC ---> KTRegroupAsDict\n* we generate two EBCs: ebc1 and ebc2, such that the table orders are different:\n```\n ebc1 = EmbeddingBagCollection(\n tables=[tb1_config, tb2_config, tb3_config],\n is_weighted=False,\n )\n ebc2 = EmbeddingBagCollection(\n tables=[tb1_config, tb3_config, tb2_config],\n is_weighted=False,\n )\n```\n* we export the model with ebc1 and unflatten the model, and then swap with ebc2 (you can think this as the the sharding process resulting a shardedEBC), so that we can mimic the key-order change as shown in the above graph\n* the test checks the final results after KTRegroupAsDict are consistent with the original eager model\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D62604419\n\nfbshipit-source-id: c951af9587cb4797ff864adc265bf6499d1ae828","shortMessageHtmlLink":"Test case for EBC key-order change (#2388)"}},{"before":"9ba64bef4116d998c25beaf95d58bd6957c9faef","after":"e3f51d640b40a0f9a1d42b85da33d2d03e6d1adc","ref":"refs/heads/main","pushedAt":"2024-09-12T22:59:14.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":"Enhance shard estimator to allow ignore output in pipelined mode (#2382)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2382\n\nPrior context: https://github.com/pytorch/torchrec/pull/1924 or D56444328.\n\nFrom the in-depth analysis, the output of embedding didn't really contribute to the peak memory. Instead, they're quite ephemeral and deallocated right after output-dist. (See the analysis of original PR/diff for more details).\n\nTherefore, this diff remove output out of the memory accounting for an embedding shard. This behavior is not always safe though: in rare case, e.g. a rank contain only sparse , or for some reason sparse forward/backward happens when HBM usage hits peak, output size will contribute to peak memory instead -- the change leave the open interface to still count in output size and caller will set it as needed.\n\nFor backward compatibility, this change only applies to any estimation using \"new formula\" (the pipeline aware formula). The old formula will keep untouched and always include output.\n\n{F1862246115}\n\nReviewed By: sarckk\n\nDifferential Revision: D62540207\n\nfbshipit-source-id: 0af679817ab61b508b5ce06fec4e0136e7a63dea","shortMessageHtmlLink":"Enhance shard estimator to allow ignore output in pipelined mode (#2382)"}},{"before":"ff6dc0a92c13acd5a1f86d0f8b6367ec13ad88e4","after":"9ba64bef4116d998c25beaf95d58bd6957c9faef","ref":"refs/heads/main","pushedAt":"2024-09-12T21:39: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":"Remove Option for ProcessGroup and Expose backend Options to reflect the correct code structure (#132931) (#2384)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2384\n\nX-link: https://github.com/pytorch/pytorch/pull/135653\n\nWe introduced the dispatchable backend for a ProcessGroup and collective in https://github.com/pytorch/pytorch/issues/86225. This PR is a follow-up cleanup to clean up the option of a ProcessGroup and ask users to either set timeout or backend later on or directly create backend after creating a PG.\n\nAlso PGNCCL is using option class from ProcessGroup but we actually should use Option from backend class. So this PR is to make the type or name to be aligned with what we are doing in cpp side. I don't change the signature for the public API, so they still use args named \"pg_options\"\n\nWe need to make changes to the test to make it aligned with the change.\n\nThis is try to reland D62008954 by fixing internal errors.\nghstack-source-id: 242088446\n\nReviewed By: wz337, H-Huang\n\nDifferential Revision: D62483294\n\nfbshipit-source-id: c31184311a0f72044f506e75a78d5dac0471bc41","shortMessageHtmlLink":"Remove Option for ProcessGroup and Expose backend Options to reflect …"}},{"before":"5528a624a1f0fff9266c452f85cfdba0f1b26d62","after":"4c8b72c97b48b2f399dc0cc417591a924261b7b0","ref":"refs/heads/export-D62483294","pushedAt":"2024-09-12T20:48:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bigfootjon","name":"Jon Janzen","path":"/bigfootjon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6403568?s=80&v=4"},"commit":{"message":"Remove Option for ProcessGroup and Expose backend Options to reflect the correct code structure (#132931) (#2384)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2384\n\nX-link: https://github.com/pytorch/pytorch/pull/135653\n\nWe introduced the dispatchable backend for a ProcessGroup and collective in https://github.com/pytorch/pytorch/issues/86225. This PR is a follow-up cleanup to clean up the option of a ProcessGroup and ask users to either set timeout or backend later on or directly create backend after creating a PG.\n\nAlso PGNCCL is using option class from ProcessGroup but we actually should use Option from backend class. So this PR is to make the type or name to be aligned with what we are doing in cpp side. I don't change the signature for the public API, so they still use args named \"pg_options\"\n\nWe need to make changes to the test to make it aligned with the change.\n\nThis is try to reland D62008954 by fixing internal errors.\nghstack-source-id: 242088446\n\nReviewed By: wz337, H-Huang\n\nDifferential Revision: D62483294","shortMessageHtmlLink":"Remove Option for ProcessGroup and Expose backend Options to reflect …"}},{"before":"a742064a792438169899ed39fe9262eb89c80044","after":"5528a624a1f0fff9266c452f85cfdba0f1b26d62","ref":"refs/heads/export-D62483294","pushedAt":"2024-09-12T20:34:43.000Z","pushType":"push","commitsCount":5,"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 Option for ProcessGroup and Expose backend Options to reflect the correct code structure (#132931) (#2384)\n\nSummary:\n\nX-link: https://github.com/pytorch/pytorch/pull/135653\n\nWe introduced the dispatchable backend for a ProcessGroup and collective in https://github.com/pytorch/pytorch/issues/86225. This PR is a follow-up cleanup to clean up the option of a ProcessGroup and ask users to either set timeout or backend later on or directly create backend after creating a PG.\n\nAlso PGNCCL is using option class from ProcessGroup but we actually should use Option from backend class. So this PR is to make the type or name to be aligned with what we are doing in cpp side. I don't change the signature for the public API, so they still use args named \"pg_options\"\n\nWe need to make changes to the test to make it aligned with the change.\n\nThis is try to reland D62008954 by fixing internal errors.\nghstack-source-id: 242088446\n\nReviewed By: wz337, H-Huang\n\nDifferential Revision: D62483294","shortMessageHtmlLink":"Remove Option for ProcessGroup and Expose backend Options to reflect …"}},{"before":"48d6eac51d01443563828ee0b4ef62df48d952d2","after":"ff6dc0a92c13acd5a1f86d0f8b6367ec13ad88e4","ref":"refs/heads/main","pushedAt":"2024-09-12T18:42:40.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":"Embedding Modules BC tests\n\nSummary: BC unit tests for embedding modules APIs\n\nReviewed By: iamzainhuda\n\nDifferential Revision: D62539188\n\nfbshipit-source-id: de0b3e2a356a2016a79029fabda0f898991129ad","shortMessageHtmlLink":"Embedding Modules BC tests"}},{"before":"4530b7240dcba08864aeff98fb46110e27043d60","after":"48d6eac51d01443563828ee0b4ef62df48d952d2","ref":"refs/heads/main","pushedAt":"2024-09-12T18:33: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":"add PT2 support for permute_multi_embedding (#2381)\n\nSummary:\nX-link: https://github.com/facebookresearch/FBGEMM/pull/208\n\nX-link: https://github.com/pytorch/FBGEMM/pull/3115\n\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2381\n\n# context\n* make fbgemm operator `permute_multi_embedding` PT2 compatible.\n* `out_lengths` is the list of sizes for all the output KT, which should be dynamic dims.\n* change the `out_lengths` from `std::vector` to `c10::SymIntArrayRef`, and other type compatibility fixes.\n\n# ref\n* previously\ngraph breaks: P1557581728\nhttps://interncache-all.fbcdn.net/manifold/tlparse_reports/tree/logs/.tmphgx6wM/rank_0/failures_and_restarts.html\n* new\nhttps://interncache-all.fbcdn.net/manifold/tlparse_reports/tree/logs/.tmpxLBHmj/index.html\n\nReviewed By: IvanKobzarev\n\nDifferential Revision: D62226292\n\nfbshipit-source-id: c826309939e0a33190b49a3aa090cbcc7515b20d","shortMessageHtmlLink":"add PT2 support for permute_multi_embedding (#2381)"}},{"before":"760758f02b9159b6a0e545ec18ff96120d07d84a","after":"4530b7240dcba08864aeff98fb46110e27043d60","ref":"refs/heads/main","pushedAt":"2024-09-12T18: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":"Update doc build job to deploy only if ref is main (#2386)\n\nSummary: Pull Request resolved: https://github.com/pytorch/torchrec/pull/2386\n\nReviewed By: PaulZhang12\n\nDifferential Revision: D62586537\n\nPulled By: iamzainhuda\n\nfbshipit-source-id: ce8f2229872e9a21950552af5c54f230fa8c67e6","shortMessageHtmlLink":"Update doc build job to deploy only if ref is main (#2386)"}},{"before":"760758f02b9159b6a0e545ec18ff96120d07d84a","after":"c11d5bf4c399c4c53090ffbbaf92f3e68802680a","ref":"refs/heads/release/v1.0.0","pushedAt":"2024-09-12T17:47:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PaulZhang12","name":"Paul Zhang","path":"/PaulZhang12","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28608314?s=80&v=4"},"commit":{"message":"Set version.txt to 1.0.0","shortMessageHtmlLink":"Set version.txt to 1.0.0"}},{"before":null,"after":"760758f02b9159b6a0e545ec18ff96120d07d84a","ref":"refs/heads/release/v1.0.0","pushedAt":"2024-09-12T17:46:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"PaulZhang12","name":"Paul Zhang","path":"/PaulZhang12","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28608314?s=80&v=4"},"commit":{"message":"Count shard state in HBM usage (#2380)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/torchrec/pull/2380\n\nX-link: https://github.com/facebookresearch/FBGEMM/pull/203\n\nX-link: https://github.com/pytorch/FBGEMM/pull/3114\n\nThis PR improve sparse HBM cost by accounting the size of auxilirary state for maintaining UVM cache. As noted in the comment of split_table_batched_embeddings_ops_training, for now the significant space is `4 * hash_size + 8 * cache_slot_size + 8 * cache_slot_size`. This is becoming more nontrivial if we have a table with many rows but few dimensions.\n\nImpact:\n- Not UVM-offloaded job: NoOp\n- UVM-offloaded job: More balanced memory usage from precise estimation, but for existing UVM jobs with scale up proposer + fixed percentage reservation this might lead to scale up proposer making less aggressive cache scale-up and therefore leading to worse performance. In this case we should tune to more slack reservation percentage .\n\nReviewed By: sarckk\n\nDifferential Revision: D61576911\n\nfbshipit-source-id: 6b501dc63cbe86c5274661b1d985af6a7a0a87c6","shortMessageHtmlLink":"Count shard state in HBM usage (#2380)"}},{"before":null,"after":"f06ce50ac232a2e0aaac67fed2a08d64bd53683b","ref":"refs/heads/svekars-patch-1","pushedAt":"2024-09-12T16:43:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"svekars","name":"Svetlana Karslioglu","path":"/svekars","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5317992?s=80&v=4"},"commit":{"message":"Update to deploy only if ref is main","shortMessageHtmlLink":"Update to deploy only if ref is main"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu1W8twA","startCursor":null,"endCursor":null}},"title":"Activity · pytorch/torchrec"}