[dist] XPU distributed backend selection (XCCL / oneCCL) is unverified — needs XPU hardware
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 28/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- distributed-systems
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 20.8k
- Fork
- 2.1k
- Merge trung bình
- 1 ngày 46 phút
- Pull request đã merge (30 ngày)
- 36
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của modelscope/FunASR
-
compute_wer_by_line raises OverflowError at 32,768 tokens with NumPy 2.3.5Có thể đã có người làm @carey-bk đã nhận hôm nay. Đang mởbug needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
modelscope/FunASR#3781 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
modelscope/FunASR#3780 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
modelscope/FunASR#3762 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug: blank lines in wav.scp / jsonl file lists crash prepare_data_iterator (IndexError / JSONDecodeError)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởneeds feedback
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
modelscope/FunASR#3757 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
modelscope/FunASR#3730 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của modelscope/FunASR
Issue tương tự
-
bug documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
awslabs/visual-asset-management-system#514 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend bug spec:REQ-053
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
nolte/kamerplanter#2547 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
EleutherAI/lm-evaluation-harness#4425 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Gemini: respect PLANNING_DISABLED=1 in lifecycle context hooksCó thể đã có người làm @AmariAugustin đã nhận hôm nay. Đang mởbug good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 87/100
OthmanAdi/planning-with-files#329 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
wr.dynamodb.read_items returns [{}] for a single partition value that does not existCó thể đã có người làm @auraseb đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
aws/aws-sdk-pandas#3520 ·
Maintainer thường phản hồi trong vòng 2 ngày