Skip to content

Conversation

@H-Huang
Copy link
Contributor

@H-Huang H-Huang commented Mar 25, 2025

ProcessGroupBabyNCCL has an issue with allreduce race condition that I haven't figured out. I tried running in processes instead of threads and it works, but I haven't figured out a good way to update the integration tests yet.

The values of the tensor after the allreduce is not the same or expected, e.g.

BEFORE average, replica 1:08cb3c4c-365e-4c8f-86d2-87000e78f2ad [model.0.bias tensor([-0.0004,  0.0006, -0.0008], device='cuda:4')]
BEFORE average, replica 0:812b70ca-ce59-43f1-b602-18515f23d808 [model.0.bias tensor([ 0.0003,  0.0002, -0.0008], device='cuda:0')]
AFTER average, replica 1:08cb3c4c-365e-4c8f-86d2-87000e78f2ad [model.0.bias tensor([ 6.1110e-05,  5.4164e-04, -1.2743e-03], device='cuda:4')]
AFTER average, replica 0:812b70ca-ce59-43f1-b602-18515f23d808 [model.0.bias tensor([ 3.0555e-05,  2.7082e-04, -6.3717e-04], device='cuda:0')]

Disabling the cuda tests for now so the CI signal is less flaky.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Mar 25, 2025
@H-Huang H-Huang changed the title update local_sgd tests to use ProcessGroupNCCL disable cuda tests in local_sgd_integ_test Mar 26, 2025
@H-Huang H-Huang requested a review from d4l3k March 26, 2025 17:12
Copy link
Member

@d4l3k d4l3k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these tests more reliable using ProcessGroupNCCL?

Will accept to reduce CI failures but we should figure out what's going on here

@H-Huang
Copy link
Contributor Author

H-Huang commented Mar 27, 2025

ProcessGroupNCCL works for me locally, but for some reason hangs in the CI. So there are also issues there.

@H-Huang H-Huang merged commit 6e17fb4 into meta-pytorch:main Mar 27, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants