nccl-extensions (Python)
Python bindings for the nccl-extensions communication libraries.
Package layout
This package installs into the nccl namespace, so the import paths are
nccl.ep and nccl.m2n:
import nccl.ep as ep
import nccl.m2n as m2n
It contributes exactly three directories to that namespace, and no
nccl/__init__.py:
| path | contents |
|---|---|
nccl/ep/ |
public facade for nccl_ep, plus CUDA-specific native libraries and headers |
nccl/m2n/ |
public facade for NCCL M2N, plus CUDA-specific native libraries and headers. See the M2N Python guide for API usage and examples. |
nccl/_extensions/ |
internals shared by every extension library — the Cython bindings, binding_dataclass, the distribution version |
Install
CUDA_HOME=/usr/local/cuda pip install -e python/
Building requires a CUDA toolkit and a Cython toolchain.
Stage native artifacts before building a distributable wheel:
python/nccl/ep/lib/cu{12,13}/libnccl_ep.so
python/nccl/ep/include/**
python/nccl/m2n/lib/cu{12,13}/libnccl_m2n.so
python/nccl/m2n/include/**
For a complete Linux wheel build, the internal
build_assets/build_wheels.sh script builds and
stages these artifacts in a temporary project copy before running
cibuildwheel. It does not stage artifacts into the source package tree.
Missing shared libraries emit explicit build warnings by default. Set
NCCL_EXTENSIONS_REQUIRE_NATIVE_LIBS=1 to turn a missing library into a build
error; the production wheel script sets this automatically. With the default
value 0, the resulting wheel is not self-contained and needs compatible
external libraries at runtime.
The sdist is source-only and excludes native shared libraries. Building a wheel from it must stage the native libraries at the paths above to bundle them, or provide compatible external libraries for runtime loading.
Pick a CUDA-variant extra to pull in the matching runtime stack (they forward
to nccl4py's cu12 / cu13 extras, and are mutually exclusive):
pip install -e 'python/[cu13]'
At runtime, the installed cuda.bindings major selects the matching bundled
lib/cu12 or lib/cu13 native libraries. NCCL EP compiles kernels at runtime
with NCCL_EP_JIT_NVCC, NVCC, or the compiler under CUDA_HOME; that compiler
and its headers must match the selected CUDA major.
Do not run Python from inside
python/. There is nonccl/__init__.pythere, so that directory resolves only as a namespace portion and these modules become invisible. Always go through the editable install.
Regenerating the bindings
Everything under nccl/_extensions/bindings/ is generated and checked in. Do
not edit it by hand — re-run
build_assets/generate_cython.py after changing a
public header, config, or template and commit the result.
Metadata
Release files for nccl-extensions 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 268.8 MB
Release files / nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
647f28b3a7a7d5c5c40cc7db544ed7ff362ac091b28e806de93c6215d2af45fe
|
|
BLAKE2b-256 checksum How to use checksums |
e2af3a54416ac5e5ec08254195216e9708b8e91371d436e5c5459348400fdb98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
11226949d4daaa9c95ca1b0de4227712291954ae50f8408d97e19af2c0f45d19
|
|
BLAKE2b-256 checksum How to use checksums |
6b8e0a04f409518bfe3703519e494e876f3b1f363692392f8523dce23e19e2a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.5 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
28f2513696bd03453857db32a5f6144631f874efb23b5fede4c6218e6026d6b1
|
|
BLAKE2b-256 checksum How to use checksums |
d93d2af7630a67b2c2d96e4ad520a3a04957e92b66dbc0c886520aa96b7b5c57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
de0ac4801a9ca851a13b2abe3825a8c60fe2a12c637d96b675ea564b31db9152
|
|
BLAKE2b-256 checksum How to use checksums |
f021ad0697074c2050fd7b6ee6f1909f1bb75019b710319baf1907d6d8a65476
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.6 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3328dc1cfeed0ddf37caac00be8c49b3e4f727dce0e7980f8831696165619a4f
|
|
BLAKE2b-256 checksum How to use checksums |
5b660f0a3fe84ffdf6ddfb13c01a036ea370519204820cc8c53303f479c43a09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3678bce16864064a9f8774ec69f5c023cb2cbcd91db60a7f98e7c87fd4f18a50
|
|
BLAKE2b-256 checksum How to use checksums |
908b0d98ca96c8625af88d834230b34115fac032ed69eb84c8bde7c38b956d16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.6 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
54d46bee108f0bc18cdc35dbe17bba6452d6a38a270fa5e8ccde03267460fa87
|
|
BLAKE2b-256 checksum How to use checksums |
f33cb043c1f8ca2766d48e30e9cc5a0d65d51aef77e3a8d18dbbaa95fd5386e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d85e203e284b50dad3846d6fb0d35560378537689f23d92a16c67f7d854025d7
|
|
BLAKE2b-256 checksum How to use checksums |
2477a02842f3e7d6aef181733f94d313a1ff4b3db2726e2c067d7946e8f34cc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.6 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
30d42d0218f46e394a21c5663f09ee9bb8a90caf4d69f0040e5a9eb2fef7b8ad
|
|
BLAKE2b-256 checksum How to use checksums |
01f85b61524b1b1a014ad523bbde766dfa6f9de76865bbaf74aaaf3fd2a7bf37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.3 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b5130d94bbc02852f1deb5ab38e944dc7e0db0f1b4769f5f3c8d652eb5776a86
|
|
BLAKE2b-256 checksum How to use checksums |
81708cb06143dc7926020f717d649d91b9302eb3346e29b8fdb13b257ef78d4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.4 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a76dca0d039640e9a49447d679beaa0307f5df5c1b46efd6772ce955bd7b16df
|
|
BLAKE2b-256 checksum How to use checksums |
a9f01058d305f9bb76faaa6d3dc7bbd753b79da2f1a476b984ccad8bc5383231
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.1 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
1739bd8d22d3118948bcabb05fda19c375b572301518d8e77e4dd622cab976f3
|
|
BLAKE2b-256 checksum How to use checksums |
a9aaf5d3a72f1f06745e4cc06afb1aca27ba18d96c684184f2885b80c01dbfa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for nccl-extensions 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.