[torch distributed] Implementing all_gather_base (#56304)#56315
[torch distributed] Implementing all_gather_base (#56304)#56315liangluofb wants to merge 1 commit intopytorch:masterfrom
Conversation
aea915a to
2e81eb8
Compare
💊 CI failures summary and remediationsAs of commit 98c7966 (more details on the Dr. CI page): 💚 💚 Looks good so far! There are no failures yet. 💚 💚 This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.Please report bugs/suggestions to the (internal) Dr. CI Users group. |
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
1 similar comment
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
2e81eb8 to
59f4e8f
Compare
Codecov Report
@@ Coverage Diff @@
## master #56315 +/- ##
==========================================
- Coverage 77.02% 77.02% -0.01%
==========================================
Files 1924 1923 -1
Lines 190590 190521 -69
==========================================
- Hits 146803 146748 -55
+ Misses 43787 43773 -14 |
zhaojuanmao
left a comment
There was a problem hiding this comment.
@liangluofb thanks for your contribution! the codes overall look good, I left some minor comments.
Also we've discussed internally, we would like to make 'all_gather_base' to be private APIs and named as '_all_gather_base' in both python and C++. As @agolynski had a C10d API cleanup plans to merge all_gather and all_gather_base. Before that cleanup is done, we would like not to introduce a new set of APIs.
So would you please help changing the 'all_gather_base' to be '_all_gather_base' in both python and C++? thanks
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
59f4e8f to
19a8630
Compare
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
19a8630 to
dbacc5e
Compare
agolynski
left a comment
There was a problem hiding this comment.
Mostly LG, just some minor comments thank you!
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
dbacc5e to
9af3fcf
Compare
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
9af3fcf to
d357231
Compare
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
d357231 to
e7081bc
Compare
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
e7081bc to
77fe978
Compare
Summary: Pull Request resolved: pytorch#56315 This diff implements the all_gather_base in pytorch distributed. Test Plan: dist.all_gather_base(output, input)... Reviewed By: agolynski, amylittleyang Differential Revision: D27488999 fbshipit-source-id: 4b286563301324f9212c0e31f8540712453441e2
|
This pull request was exported from Phabricator. Differential Revision: D27488999 |
77fe978 to
98c7966
Compare
|
This pull request has been merged in c370957. |
Summary: Pull Request resolved: pytorch#56315 This diff implements the all_gather_base in pytorch distributed. Test Plan: dist.all_gather_base(output, input)... Reviewed By: agolynski, amylittleyang Differential Revision: D27488999 fbshipit-source-id: 937ec8bddf9527fa4d114f984d1d0f6a5b8c3936
|
Hi, c10::intrusive_ptr<ProcessGroup::Work> ProcessGroupNCCL::_allgather_base(
std::vector<at::Tensor>& outputs,
std::vector<at::Tensor>& inputs,
const AllgatherOptions& /*unused */)
At the python front end we can do a type checking, if the input is a single tensor then wrap it with the brackets. def allgather_base(self, outputs, inputs, ... ):
if type(output) != list:
outputs = [outputs]
inputs = [inputs]
... |
Summary:
Pull Request resolved: #56304
This diff implements the all_gather_base in pytorch distributed.
Test Plan: dist.all_gather_base(output, input)...
Differential Revision: D27488999