Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[dist] XPU distributed backend selection (XCCL / oneCCL) is unverified — needs XPU hardware

Ouverte
#3,777 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
28/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python, pytorch

Piste de recherche

Start with get_default_dist_backend() and tests/test_distributed_device_setup.py, which the issue identifies as the implementation and test entry points. The issue requires an exact-head, two-rank torchrun on Intel XPU hardware, checking device binding, all_reduce, DDP forward and backward, and end-of-epoch cache release. Done means the XPU backend selection and test are updated, with the PyTorch, oneAPI, and device versions recorded.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Context

#3771 binds distributed training to the active accelerator instead of assuming CUDA. Writing that change surfaced a second, independent defect on XPU.

get_default_dist_backend() returns "nccl" for every non-NPU device. Since get_accelerator_device_type() does select XPU, an XPU run reaches init_process_group(backend="nccl") and cannot start at all on a build without NCCL — the same class of failure #3771 fixes for Ascend NPU.

Why this is not in #3771

The correct backend for XPU is XCCL (oneCCL; the legacy name on older builds is "ccl"), so the fix is small:

_ACCELERATOR_DIST_BACKENDS = {"npu": ("hccl",), "xpu": ("xccl", "ccl")}

but it advertises a runtime path that nobody here can exercise. We have no Intel XPU hardware in our environment, so under the repository's hardware-validation requirement the XPU arm was the only path #3771 changed without real-device evidence. #3771 therefore keeps the historical "nccl" value for XPU — i.e. exactly the pre-PR behaviour, unchanged — and the selection is tracked here for whoever has the hardware.

What a fix needs

  1. Add the XPU entry above (keep "ccl" only for builds that positively confirm it through torch.distributed.is_ccl_available()).
  2. Run an exact-head 2-rank torchrun on Intel XPU with XCCL, showing per-rank xpu:0 / xpu:1 binding, an all_reduce, DDP forward/backward, the end-of-epoch cache release, plus the exact PyTorch / oneAPI / device versions.
  3. Update tests/test_distributed_device_setup.py accordingly — the current test pins the narrowed behaviour (XPU stays "nccl" even when a build reports is_xccl_available()), so it needs to be flipped.

Related

  • #3771 — the Ascend NPU path, verified end to end on 910B2 hardware.
  • Failure mode this follows up on: init_process_group(backend="nccl") -> RuntimeError: Distributed package doesn't have NCCL built in.
Langage dominant
Python
Étoiles
20.8k
Forks
2.1k
Merge moyen
1 j 46 min
PR mergées (30 j)
36

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de modelscope/FunASR

Toutes les issues de modelscope/FunASR

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.