Skip to main content

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 no nccl/__init__.py there, 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (22.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 647f28b3a7a7d5c5c40cc7db544ed7ff362ac091b28e806de93c6215d2af45fe
MD5 7155cfeed8cf8136d6d23be7ce67e520
BLAKE2b-256 e2af3a54416ac5e5ec08254195216e9708b8e91371d436e5c5459348400fdb98

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11226949d4daaa9c95ca1b0de4227712291954ae50f8408d97e19af2c0f45d19
MD5 96ddca5bea3601909711f52f629d41e5
BLAKE2b-256 6b8e0a04f409518bfe3703519e494e876f3b1f363692392f8523dce23e19e2a1

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28f2513696bd03453857db32a5f6144631f874efb23b5fede4c6218e6026d6b1
MD5 a67efccc802596aeebe9e93ff8b5e742
BLAKE2b-256 d93d2af7630a67b2c2d96e4ad520a3a04957e92b66dbc0c886520aa96b7b5c57

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de0ac4801a9ca851a13b2abe3825a8c60fe2a12c637d96b675ea564b31db9152
MD5 42992419760d995799abd3de263ca3fb
BLAKE2b-256 f021ad0697074c2050fd7b6ee6f1909f1bb75019b710319baf1907d6d8a65476

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3328dc1cfeed0ddf37caac00be8c49b3e4f727dce0e7980f8831696165619a4f
MD5 0910c14c8cd3f12a4635535a499e5594
BLAKE2b-256 5b660f0a3fe84ffdf6ddfb13c01a036ea370519204820cc8c53303f479c43a09

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3678bce16864064a9f8774ec69f5c023cb2cbcd91db60a7f98e7c87fd4f18a50
MD5 de1e6a79a11c61809f17de0163b9b351
BLAKE2b-256 908b0d98ca96c8625af88d834230b34115fac032ed69eb84c8bde7c38b956d16

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 54d46bee108f0bc18cdc35dbe17bba6452d6a38a270fa5e8ccde03267460fa87
MD5 0862165a5a5b7b18745aa78e6298db2d
BLAKE2b-256 f33cb043c1f8ca2766d48e30e9cc5a0d65d51aef77e3a8d18dbbaa95fd5386e2

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d85e203e284b50dad3846d6fb0d35560378537689f23d92a16c67f7d854025d7
MD5 17591102477c4c1f3e67487c07d189f7
BLAKE2b-256 2477a02842f3e7d6aef181733f94d313a1ff4b3db2726e2c067d7946e8f34cc3

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30d42d0218f46e394a21c5663f09ee9bb8a90caf4d69f0040e5a9eb2fef7b8ad
MD5 662b4df53c94be300d40a606902a5903
BLAKE2b-256 01f85b61524b1b1a014ad523bbde766dfa6f9de76865bbaf74aaaf3fd2a7bf37

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b5130d94bbc02852f1deb5ab38e944dc7e0db0f1b4769f5f3c8d652eb5776a86
MD5 7ffff9e40f3a2d184c1896b1f09ba5e2
BLAKE2b-256 81708cb06143dc7926020f717d649d91b9302eb3346e29b8fdb13b257ef78d4b

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a76dca0d039640e9a49447d679beaa0307f5df5c1b46efd6772ce955bd7b16df
MD5 11e6be9b3ab80dd174905f758c20eddd
BLAKE2b-256 a9f01058d305f9bb76faaa6d3dc7bbd753b79da2f1a476b984ccad8bc5383231

See more details on using hashes here.

File details

Details for the file nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nccl_extensions-0.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1739bd8d22d3118948bcabb05fda19c375b572301518d8e77e4dd622cab976f3
MD5 b0df1ea9dd186ffa694caaab935c2801
BLAKE2b-256 a9aaf5d3a72f1f06745e4cc06afb1aca27ba18d96c684184f2885b80c01dbfa0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

12 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page