You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
kernel-builder: provide NCCL >= 2.32 headers and UCCL as build dependencies (for DeepEP) #949
huggingface/kernels-community#1231 ports DeepEP 2.5.0 as kernels-community/deep-ep to support the upcoming deepep expert-parallel strategy in Transformers. Right now the port has to vendor some dependencies that kernel-builder should probably provide instead.
NCCL
DeepEP 2.5's host code uses GIN and EFA-GDA APIs from NCCL 2.31/2.32.
The torch that kernel-builder ships comes with NCCL 2.30.4. That's too old to build against.
As a workaround, the port builds headers from an NCCL Git checkout pinned at 12df1a11afad322be5a204a2db890161cbf8131d (2.32.3) and uses them only at build time. The extension does not link or ship its own NCCL; it uses the symbols PyTorch has already loaded.
Ask: make NCCL >= 2.32 headers available in kernel-builder, for example by bumping the NCCL that comes with torch or by adding NCCL as a build dependency in the Nix setup. Then the vendored headers can be removed from the deep-ep port.
UCCL (AMD / ROCm)
We also want DeepEP on AMD GPUs, using the UCCL EP headers.
Ask: check whether UCCL can be added as a kernel-builder dependency for ROCm builds. This needs Nix packaging.
Acceptance
kernel-builder exposes NCCL >= 2.32 headers to CUDA kernels, so deep-ep can drop its vendored NCCL headers
Decide whether UCCL should be a kernel-builder dependency for ROCm, and package it if so
Activity