CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
36 lines
1.5 KiB
ReStructuredText
36 lines
1.5 KiB
ReStructuredText
**************************************************
|
|
nccl4py: Pythonic RCCL Communication for GPU Clusters
|
|
**************************************************
|
|
|
|
`nccl4py <https://github.com/ROCm/rocm-systems/tree/develop/projects/rccl/bindings/nccl4py>`_ provides a Pythonic interface to the
|
|
ROCm Communication Collectives Library (RCCL), AMD's drop-in replacement for
|
|
NVIDIA NCCL on ROCm. It bridges Python's simplicity with RCCL's GPU-accelerated
|
|
multi-GPU and multi-node communication primitives, so distributed Python
|
|
workloads can target AMD GPUs through the same API surface used on NVIDIA
|
|
hardware.
|
|
|
|
This package is a fork of the upstream NVIDIA ``nccl4py`` v0.2.0 with the
|
|
adaptations needed to run on top of ``librccl.so``: a HIP-backed ``cuda.core``
|
|
shim, RCCL-only collective wrappers (``ncclAllReduceWithBias``,
|
|
``ncclAllToAllv``), and a ROCm-native shared-library loader. The package name
|
|
``nccl4py`` is deliberately kept so that code written against the upstream
|
|
bindings runs unchanged on ROCm.
|
|
|
|
* `Homepage <https://github.com/ROCm/rocm-systems/tree/develop/projects/rccl>`_
|
|
* `Repository <https://github.com/ROCm/rocm-systems>`_
|
|
* `Documentation <https://rocm.docs.amd.com/projects/rccl/en/latest/>`_
|
|
* `Issue tracker <https://github.com/ROCm/rocm-systems/issues>`_
|
|
|
|
``nccl4py`` is under active development. Feedback and suggestions are welcome.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
.. code-block:: bash
|
|
|
|
pip install nccl4py
|
|
|
|
The package depends on ``hip-python`` and resolves ``librccl.so`` at runtime
|
|
via ``dlopen``; no CUDA or HIP toolchain is required at build time.
|