Skip to content

fix issue 4055#4058

Open
legionGIT wants to merge 2 commits into
huggingface:mainfrom
legionGIT:fix_prepare_backend
Open

fix issue 4055#4058
legionGIT wants to merge 2 commits into
huggingface:mainfrom
legionGIT:fix_prepare_backend

Conversation

@legionGIT
Copy link
Copy Markdown


What does this PR do?

Fixes a bug in PartialState._prepare_backend where the SDAA device check (is_sdaa_available()) used a standalone if instead of elif, causing it to always evaluate independently of the MLU check above it.

When both MLU and SDAA conditions could be true, the SDAA branch would overwrite the previously set backend = "cncl" and distributed_type = MULTI_MLU with backend = "tccl" and distributed_type = MULTI_SDAA, incorrectly overriding the MLU backend selection.

The fix changes if is_sdaa_available() → elif is_sdaa_available() so it properly chains with the existing if is_mlu_available() / elif is_musa_available() / elif is_npu_available() / elif is_xpu_available() / elif is_mlu_available() conditional chain, ensuring only
one backend is selected.

Fixes #4055

Checklist

  • Contributor guidelines read
  • Changes described above
  • Tests added (N/A — minor conditional logic fix)
  • Documentation updated (N/A)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cncl should at the same level in _prepare_backend in src/accelerate/state.py

1 participant