Skip to content

Test Copy Engine All-to-all#170344

Closed
kwen2501 wants to merge 2 commits intogh/kwen2501/294/basefrom
gh/kwen2501/294/head
Closed

Test Copy Engine All-to-all#170344
kwen2501 wants to merge 2 commits intogh/kwen2501/294/basefrom
gh/kwen2501/294/head

Conversation

@kwen2501
Copy link
Collaborator

@kwen2501 kwen2501 commented Dec 12, 2025

Stack from ghstack (oldest at bottom):

NCCL 2.28 added Copy Engine (CE) support.

Condition:

  • Tensors be symmetrically registered (e.g. coming from symm_mem.empty)
  • NCCL_CTA_POLICY_ZERO be passed to ncclConfig or env var NCCL_CTA_POLICY=2

Confirmed use of CE via profile:
Screenshot 2025-12-12 at 2 44 23 PM

(First kernel is from all_to_all_single on regular tensor, second kernel is from all_to_all_single on tensors that have been window registered)

Caveat:
As of 2.28.9, CE collectives cannot be run on default stream, so we are testing it with async_op=True or with a side stream.

[ghstack-poisoned]
@pytorch-bot
Copy link

pytorch-bot bot commented Dec 12, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/170344

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 New Failure

As of commit e212bdf with merge base 8c5e14f (image):

NEW FAILURE - The following job has failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@pytorch-bot pytorch-bot bot added the topic: not user facing topic category label Dec 12, 2025
kwen2501 added a commit that referenced this pull request Dec 12, 2025
ghstack-source-id: 372b50b
Pull-Request: #170344
@kwen2501 kwen2501 added release notes: distributed (symm_mem) release note label for symmetric memory module: symm_mem Issues and PRs of Symmetric Memory and removed topic: not user facing topic category labels Dec 12, 2025
@kwen2501 kwen2501 requested review from fduwjj and ngimel December 12, 2025 22:46
@pytorch-bot pytorch-bot bot added the topic: not user facing topic category label Dec 12, 2025
Comment on lines 144 to 145
# if self.rank == 0:
# prof.export_chrome_trace("test_ce_alltoall.json")
Copy link
Contributor

Choose a reason for hiding this comment

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

remove?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's left here on purpose - when dump of trace is needed from this test :)

Copy link
Contributor

Choose a reason for hiding this comment

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

No I don't think leave a comment like this makes sense.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Removed.

[ghstack-poisoned]
kwen2501 added a commit that referenced this pull request Dec 16, 2025
ghstack-source-id: 4a8e7fc
Pull-Request: #170344
@kwen2501 kwen2501 requested a review from fduwjj December 17, 2025 00:48
@fduwjj
Copy link
Contributor

fduwjj commented Dec 17, 2025

@pytorchbot merge

@pytorch-bot pytorch-bot bot added the ciflow/trunk Trigger trunk jobs on your pull request label Dec 17, 2025
@pytorchmergebot
Copy link
Collaborator

Merge started

Your change will be merged once all checks pass (ETA 0-4 Hours).

Learn more about merging in the wiki.

Questions? Feedback? Please reach out to the PyTorch DevX Team

Advanced Debugging
Check the merge workflow status
here

@pytorchmergebot
Copy link
Collaborator

Merge failed

Reason: 1 jobs have failed, first few of them are: trunk / linux-jammy-cuda13.0-py3.10-gcc11 / test (pr_time_benchmarks, 1, 1, linux.g4dn.metal.nvidia.gpu)

Details for Dev Infra team Raised by workflow job

@kwen2501
Copy link
Collaborator Author

@pytorchbot merge -f "pr_time_benchmark failure is unrelated"

@pytorchmergebot
Copy link
Collaborator

Merge started

Your change will be merged immediately since you used the force (-f) flag, bypassing any CI checks (ETA: 1-5 minutes). Please use -f as last resort and instead consider -i/--ignore-current to continue the merge ignoring current failures. This will allow currently pending tests to finish and report signal before the merge.

Learn more about merging in the wiki.

Questions? Feedback? Please reach out to the PyTorch DevX Team

Advanced Debugging
Check the merge workflow status
here

krastogi-in pushed a commit to krastogi-in/pytorch that referenced this pull request Jan 9, 2026
NCCL 2.28 added Copy Engine (CE) support.

Condition:
- Tensors be symmetrically registered (e.g. coming from symm_mem.empty)
- NCCL_CTA_POLICY_ZERO be passed to ncclConfig or env var NCCL_CTA_POLICY=2

Confirmed use of CE via profile:
<img width="612" height="167" alt="Screenshot 2025-12-12 at 2 44 23 PM" src="https://github.com/user-attachments/assets/5efb6e9c-40a4-43a0-878f-36733b8b64dd" />

(First kernel is from `all_to_all_single` on regular tensor, second kernel is from `all_to_all_single` on tensors that have been window registered)

Caveat:
As of 2.28.9, CE collectives cannot be run on default stream, so we are testing it with `async_op=True` or with a side stream.
Pull Request resolved: pytorch#170344
Approved by: https://github.com/fduwjj
@github-actions github-actions bot deleted the gh/kwen2501/294/head branch January 17, 2026 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk Trigger trunk jobs on your pull request Merged module: symm_mem Issues and PRs of Symmetric Memory open source release notes: distributed (symm_mem) release note label for symmetric memory topic: not user facing topic category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants