-
Notifications
You must be signed in to change notification settings - Fork 930
Missing CPU node attributes with topology injection #379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This should be fixed in 2.8 (see preview branch). |
sjeaugey
added a commit
that referenced
this issue
Nov 6, 2020
Optimization for Tree allreduce on A100. Improve aggregation performance. Use shared buffers for inter-node send/recv. Add NVTX profiling hooks. Accelerate alltoall connections by merging communication for all channels. Add support for one hop communication through NVLink, for faster send/recv communication on cubemesh topologies like DGX-1. Improve alltoall scheduling to better balance intra/inter node communication. Increase send/recv parallelism by 8x, each warp sending or receiving to a different peer. Net: move to v4. Net: make flush operation asynchronous to accelerate alltoall. Net: define maximum number of requests. Fix hang when using LL128 protocol after 2^31 steps. Fix #379 : topology injection failing when using less GPUs than described in the XML. Fix #394 : protocol mismatch causing hangs or crashes when using one GPU per node.
mackrorysd
pushed a commit
to mackrorysd/nccl
that referenced
this issue
Apr 13, 2021
Optimization for Tree allreduce on A100. Improve aggregation performance. Use shared buffers for inter-node send/recv. Add NVTX profiling hooks. Accelerate alltoall connections by merging communication for all channels. Add support for one hop communication through NVLink, for faster send/recv communication on cubemesh topologies like DGX-1. Improve alltoall scheduling to better balance intra/inter node communication. Increase send/recv parallelism by 8x, each warp sending or receiving to a different peer. Net: move to v4. Net: make flush operation asynchronous to accelerate alltoall. Net: define maximum number of requests. Fix hang when using LL128 protocol after 2^31 steps. Fix NVIDIA#379 : topology injection failing when using less GPUs than described in the XML. Fix NVIDIA#394 : protocol mismatch causing hangs or crashes when using one GPU per node.
yinwaii
pushed a commit
to yinwaii/nccl
that referenced
this issue
Nov 17, 2022
Optimization for Tree allreduce on A100. Improve aggregation performance. Use shared buffers for inter-node send/recv. Add NVTX profiling hooks. Accelerate alltoall connections by merging communication for all channels. Add support for one hop communication through NVLink, for faster send/recv communication on cubemesh topologies like DGX-1. Improve alltoall scheduling to better balance intra/inter node communication. Increase send/recv parallelism by 8x, each warp sending or receiving to a different peer. Net: move to v4. Net: make flush operation asynchronous to accelerate alltoall. Net: define maximum number of requests. Fix hang when using LL128 protocol after 2^31 steps. Fix NVIDIA#379 : topology injection failing when using less GPUs than described in the XML. Fix NVIDIA#394 : protocol mismatch causing hangs or crashes when using one GPU per node.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
NCCL detects CPU nodes only when underlying GPU node is used. So in 2-socket system with each socket having 4 GPUs, if we use less than 5 GPUs then the other CPU or its attributes isn't detected. This will hit the following error when a topology is ingested using
NCCL_TOPO_FILE
.To fix it, NCCL should force read information of all CPUs on the system if the topology provides it.
The text was updated successfully, but these errors were encountered: