[dist] XPU distributed backend selection (XCCL / oneCCL) is unverified — needs XPU hardware
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 28/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- Add the XPU entry above (keep
"ccl"only for builds that positively confirm it throughtorch.distributed.is_ccl_available()). - Run an exact-head 2-rank
torchrunon Intel XPU with XCCL, showing per-rankxpu:0/xpu:1binding, anall_reduce, DDP forward/backward, the end-of-epoch cache release, plus the exact PyTorch / oneAPI / device versions. - Update
tests/test_distributed_device_setup.pyaccordingly — the current test pins the narrowed behaviour (XPU stays"nccl"even when a build reportsis_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.
- 主要言語
- Python
- スター
- 20.8k
- フォーク
- 2.1k
- 平均マージ
- 1日 46分
- マージ済み PR(30日)
- 36
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelscope/FunASR のほかの issue
-
compute_wer_by_line raises OverflowError at 32,768 tokens with NumPy 2.3.5対応中かも @carey-bk が今日担当しました。 オープンbug needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
modelscope/FunASR#3781 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
modelscope/FunASR#3780 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelscope/FunASR#3762 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Bug: blank lines in wav.scp / jsonl file lists crash prepare_data_iterator (IndexError / JSONDecodeError)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンneeds feedback
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
modelscope/FunASR#3757 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
modelscope/FunASR#3730 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
modelscope/FunASR の issue をすべて見る
似ている issue
-
bug documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
awslabs/visual-asset-management-system#514 ·
メンテナーはふだん 1 日以内に返信
-
backend bug spec:REQ-053
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
nolte/kamerplanter#2547 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
EleutherAI/lm-evaluation-harness#4425 ·
メンテナーはふだん 1 日以内に返信
-
Gemini: respect PLANNING_DISABLED=1 in lifecycle context hooks対応中かも @AmariAugustin が今日担当しました。 オープンbug good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 87/100
OthmanAdi/planning-with-files#329 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
wr.dynamodb.read_items returns [{}] for a single partition value that does not exist対応中かも @auraseb が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
aws/aws-sdk-pandas#3520 ·
メンテナーはふだん 2 日以内に返信