Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#3,777 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Công nghệ
python, pytorch
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

  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.
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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của modelscope/FunASR

Tất cả issue của modelscope/FunASR

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.