Add Intel XPU support to installer and qualification profiles - #28
Open
legobele wants to merge 1 commit into
Open
Add Intel XPU support to installer and qualification profiles#28legobele wants to merge 1 commit into
legobele wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Enables Intel GPU (XPU) nodes. The core Python code was already XPU-ready (
hardware.pyhasxpuinACCELERATOR_TYPES, both install scripts already acceptDRIFT_DEVICE=xpu, device-portability tests already cover XPU) — the only thing actually blocking XPU was the packaging/CI layer hardcoding the CUDA torch build. This PR removes that block.Changes (5 files, +33/-8)
desktop/build_desktop.py— the metrics gate now accepts either qualified torch build via a newQUALIFIED_TORCH_BUILDS = ("2.6.0+cu124", "2.6.0+xpu")constant instead of hard-rejecting anything that isn't2.6.0+cu124. This was the single check that made XPU bundles fail the build..github/workflows/desktop.yaml— CI still installs the CUDA build (hosted runners have no Intel GPU), but both verify steps now accept either qualified build, so locally-built XPU bundles pass the same pipeline. Added a comment explaining the split.scripts/run_external_model_qualification.py— registeredwindows-xpu/linux-xpuhost profiles and added therequire_devicebranch (torch.xpu.is_available()), mirroring the existing CUDA/MPS checks..github/workflows/qualify-model-matrix.yaml— intentionally did not schedule the XPU profiles yet (scheduling a profile with no matching self-hosted runner would queue forever). Left a NOTE in the workflow explaining exactly that, which also keeps thefor profile in HOST_PROFILESgate test green. Happy to flip them into the required matrix as soon as an XPU runner exists.README.md— system requirements now list Intel XPU as supported instead of "AMD and Intel GPU acceleration is not included", plus a driver note (DRIFT_DEVICE=xpu).Deliberately out of scope
Dockerfile.public-route-cuda,public_route_image_contract.py, gate13/GCP lifecycle scripts and their tests: CUDA-route-specific by design, untouched.qualification_cost_guard.py: GCP has no Intel-GPU VM shapes, nothing to add.docs/evidence/: snapshots, never rewriting those.Verification
py_compileclean on both edited Python files; both edited workflows parse as valid YAML.test_manual_workflow_separates_public_alpha_and_deferred_macos_profilesassertions standalone (full suite needs hivemind + a locked env sync, not available in this env): everyHOST_PROFILESentry appears quoted in the workflow, scheduled/required profile strings unchanged — all pass.desktop/tests/test_build_desktop.pyfixture uses2.6.0+cu124, which remains accepted, so no test updates needed.Honesty corner
Full disclosure: this change was vibecoded (AI-assisted) against a vibecoded codebase, on behalf of an Intel Arc user who wants to contribute their GPU to the mesh. The diff is small and each hunk maps to one hardcoded CUDA assumption. Tear it apart — that's what the PR is for. If you'd rather gate XPU bundles behind a flag or a separate workflow instead of the shared
QUALIFIED_TORCH_BUILDStuple, say the word.Tested install path:
DRIFT_DEVICE=xpuviainstall.sh/install.ps1with torch 2.6.0+xpu on Intel Arc.