Skip to content

DO NOT MERGE: NVLS=1 symmetric-memory CI diagnostic#5624

Open
wujingyue wants to merge 7 commits into
NVIDIA:mainfrom
wujingyue:symm-nvls-diag
Open

DO NOT MERGE: NVLS=1 symmetric-memory CI diagnostic#5624
wujingyue wants to merge 7 commits into
NVIDIA:mainfrom
wujingyue:symm-nvls-diag

Conversation

@wujingyue

Copy link
Copy Markdown
Contributor

Throwaway diagnostic (for #5440 follow-up): forces NCCL_NVLS_ENABLE=1 and reports whether the multicast symmetric kernels (STMC/LDMC) engage at hidden=1024/2048/4096 on the CI runner + peak memory. Will be closed once output is captured. Not for merge.

wujingyue and others added 5 commits June 30, 2026 04:22
Allocate experimental FSDP all-gather and reduce-scatter staging buffers from PyTorch's NCCL symmetric-memory pool when use_symm_mem=True. Add explicit rendezvous before the symmetric-memory collectives and cover the path with a CUDA/NCCL profiler test that checks the symmetric kernel counts.

Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
- unshard_parameters now raises on a None gather axis and rendezvous
  unconditionally under symmetric memory, mirroring reduce_gradients.
- Inline the single-use num_sharded_modules constant in the parity test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
The parity test used a tiny model (Linear(8,16)+Linear(16,4)); its sub-KB
collectives make NCCL fall back to ring on runners with NCCL_NVLS_ENABLE=0
(e.g. CI), so the ncclSymk* kernel-count assertions failed there even though
the runner supports symmetric memory. Widen the two sharded Linears to 1024
(a few-MiB bf16 weight), which reliably engages the symmetric kernels while
preserving the loss-parity check.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
Force NCCL_NVLS_ENABLE=1 and report whether the multicast symmetric kernels
(STMC/LDMC) engage at hidden=1024/2048/4096 on the CI runner, plus peak memory.
Throwaway; to be removed after capturing the output.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
@wujingyue wujingyue requested review from a team as code owners July 2, 2026 15:45
@svcnvidia-nemo-ci svcnvidia-nemo-ci marked this pull request as draft July 2, 2026 15:45
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

This PR has been automatically converted to draft because all PRs must start as drafts.

When you are ready for review, click Ready for Review to begin the review process. This will:

  1. Add the oncall reviewer (optional reviewer)
  2. Add required review teams based on your changes

See the contribution guide for more details.

@copy-pr-bot

copy-pr-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@wujingyue wujingyue marked this pull request as ready for review July 2, 2026 15:45
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jingyue Wu <jingyuew@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants