Skip to content

intel-gpu: refresh xpu extras (fix torch 2.10, add 2.7.1 / 2.9.1 / 2.11.0 / 2.12.0)#5484

Merged
danielhanchen merged 2 commits into
mainfrom
xpu-extras-refresh
May 16, 2026
Merged

intel-gpu: refresh xpu extras (fix torch 2.10, add 2.7.1 / 2.9.1 / 2.11.0 / 2.12.0)#5484
danielhanchen merged 2 commits into
mainfrom
xpu-extras-refresh

Conversation

@danielhanchen

@danielhanchen danielhanchen commented May 16, 2026

Copy link
Copy Markdown
Member

Summary

Aligns the intel-gpu-torch* optional dependency stacks in pyproject.toml with the wheels PyTorch is actually publishing on download.pytorch.org/whl/xpu.

The intelgputorch210 block on main pins pytorch_triton_xpu 3.5.0, but the published torch-2.10.0+xpu wheel's own metadata declares Requires-Dist: triton-xpu==3.6.0 (the package was renamed and bumped upstream). The result is that pip install .[intel-gpu-torch210] fails on every supported Python with:

ERROR: Could not find a version that satisfies the requirement triton-xpu==3.6.0 (from torch)

This PR fixes that block and also fills in the four newer xpu wheel sets (2.7.1, 2.9.1, 2.11.0, 2.12.0) that have been published but were not yet exposed as Unsloth extras.

Commits

  1. fix(pyproject): use triton-xpu 3.6.0 for intelgputorch210 (#4931) by @aiSynergy37, cherry-picked from Fix intelgputorch210 Triton dependency for PyTorch 2.10 XPU #4941 to preserve original authorship in git history.
  2. intel-gpu: add xpu extras for torch 2.7.1 / 2.9.1 / 2.11.0 / 2.12.0 adds the four newer wheel stacks plus their intel-gpu-torch* aliases.

Final state of the section

Extra Torch wheel Triton wheel
intelgputorch271 / intel-gpu-torch271 (new) torch-2.7.1+xpu pytorch-triton-xpu==3.3.1
intelgputorch291 / intel-gpu-torch291 (new) torch-2.9.1+xpu pytorch-triton-xpu==3.5.0
intelgputorch210 / intel-gpu-torch210 (fix, by @aiSynergy37) torch-2.10.0+xpu triton-xpu==3.6.0 (was: pytorch_triton_xpu 3.5.0)
intelgputorch2110 / intel-gpu-torch2110 (new) torch-2.11.0+xpu triton-xpu==3.7.0
intelgputorch2120 / intel-gpu-torch2120 (new) torch-2.12.0+xpu triton-xpu==3.7.1

Each torch + triton pair was cross-checked against the wheel's own PEP 658 .metadata sidecar to confirm its Requires-Dist matches.

The neighbouring intelgputorch290 block was left alone: torch-2.9.0+xpu's Requires-Dist is pytorch-triton-xpu==3.5.0, which is what is already pinned there.

Test plan

For every modified and new extra, ran the resolver across all four supported Python versions on Linux x86_64 and Windows AMD64:

uv pip compile pyproject.toml --extra <EXTRA> \
  --python-version <PY> --python-platform x86_64-unknown-linux-gnu

All combinations resolve cleanly and pick the correct torch-N.M.P+xpu + matching triton-xpu / pytorch-triton-xpu wheels. End-to-end reproduce-then-fix on the original failure also confirmed: uv pip install --dry-run '.[intel-gpu-torch210]' against unpatched main produces the user-reported triton-xpu==3.6.0 error; against this branch it succeeds and selects torch-2.10.0+xpu + triton-xpu-3.6.0. Full regression run against the other 149 untouched extras shows zero new breakage.

Closes #4319.
Closes #4931.
Closes #5358.

Replaces #4941 (whose commit by @aiSynergy37 is preserved as the first commit here).

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 17548a082f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pyproject.toml
"unsloth_zoo[intelgpu]",
"unsloth[huggingfacenotorch]",

"pytorch_triton_xpu @ https://download.pytorch.org/whl/pytorch_triton_xpu-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl#sha256=663ce21364096b268c6687f26f22862cb1001cae0c4ec9f98a0998415f99e2b0 ; platform_system == 'Linux' and python_version == '3.10' and platform_machine == 'x86_64'",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add the missing Python 3.9 wheels to torch271

For Python 3.9 users on x86_64 Linux or Windows, this new intel-gpu-torch271 extra only selects the unversioned bitsandbytes entries because every torch, torchvision, and pytorch-triton-xpu URL starts at python_version == '3.10'; the project still advertises Python 3.9 support, and PyTorch publishes matching 2.7.1+xpu / 0.22.1+xpu / 3.3.1 wheels for cp39, as the neighboring 2.7.0/2.8.0 extras already include. Installing unsloth[intel-gpu-torch271] on Python 3.9 therefore succeeds without installing torch at all, leading to runtime import failures.

Useful? React with 👍 / 👎.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds several new dependency groups to pyproject.toml to support Intel GPU configurations across multiple Torch versions (2.7.1, 2.9.1, 2.11.0, and 2.12.0). These groups specify direct wheel URLs for torch, torchvision, triton-xpu, and bitsandbytes for various Python versions and operating systems. Feedback was provided regarding the omission of SHA256 integrity hashes for some triton-xpu and torch dependencies, which should be added to ensure security and maintain consistency with other entries in the file.

Comment thread pyproject.toml
Comment on lines +1098 to +1105
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl ; platform_system == 'Linux' and python_version == '3.10' and platform_machine == 'x86_64'",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl ; platform_system == 'Linux' and python_version == '3.11' and platform_machine == 'x86_64'",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl ; platform_system == 'Linux' and python_version == '3.12' and platform_machine == 'x86_64'",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl ; platform_system == 'Linux' and python_version == '3.13' and platform_machine == 'x86_64'",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp310-cp310-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.10' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp311-cp311-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.11' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp312-cp312-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.12' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"triton-xpu @ https://download.pytorch.org/whl/triton_xpu-3.6.0-cp313-cp313-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.13' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The triton-xpu dependency URLs in the intelgputorch210 block are missing #sha256= integrity hashes. For security and reproducibility, and to remain consistent with other blocks in this file, these should be included. The PR description explicitly mentions the intent to retain these anchors.

Comment thread pyproject.toml
Comment on lines +1144 to +1151
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp310-cp310-linux_x86_64.whl ; platform_system == 'Linux' and python_version == '3.10' and platform_machine == 'x86_64'",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp311-cp311-linux_x86_64.whl ; platform_system == 'Linux' and python_version == '3.11' and platform_machine == 'x86_64'",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp312-cp312-linux_x86_64.whl ; platform_system == 'Linux' and python_version == '3.12' and platform_machine == 'x86_64'",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp313-cp313-linux_x86_64.whl ; platform_system == 'Linux' and python_version == '3.13' and platform_machine == 'x86_64'",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp310-cp310-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.10' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp311-cp311-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.11' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp312-cp312-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.12' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
"torch @ https://download.pytorch.org/whl/xpu/torch-2.11.0%2Bxpu-cp313-cp313-win_amd64.whl ; sys_platform == 'win32' and python_version == '3.13' and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The torch dependency URLs in the intelgputorch2110 block are missing #sha256= integrity hashes. These should be added to ensure consistency and security, as seen in the other version blocks and stated in the PR summary.

stoicAI1776 and others added 2 commits May 16, 2026 12:59
Builds on the intelgputorch210 fix in the previous commit by also
filling in the four other intel-gpu-torch* wheel stacks that PyTorch
has published but Unsloth was not yet exposing:

* intelgputorch271 / intel-gpu-torch271:
    torch 2.7.1+xpu  with pytorch-triton-xpu 3.3.1
* intelgputorch291 / intel-gpu-torch291:
    torch 2.9.1+xpu  with pytorch-triton-xpu 3.5.0
* intelgputorch2110 / intel-gpu-torch2110:
    torch 2.11.0+xpu with triton-xpu 3.7.0
* intelgputorch2120 / intel-gpu-torch2120:
    torch 2.12.0+xpu with triton-xpu 3.7.1

Each torch + triton pair was cross-checked against the wheel's PEP 658
.metadata sidecar to confirm the upstream Requires-Dist matches what
this block pins. Verified via `uv pip compile` across cp310/cp311/cp312/
cp313 on Linux x86_64 and Windows AMD64.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

unsloth/pyproject.toml

Lines 1061 to 1064 in c0cd342

"pytorch_triton_xpu @ https://download.pytorch.org/whl/pytorch_triton_xpu-3.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl#sha256=c169a1de14c19673b17c751290d467fa282fc90fa5da4314b2e5cdab1f553146 ; platform_system == 'Linux' and python_version == '3.10' and platform_machine == 'x86_64'",
"pytorch_triton_xpu @ https://download.pytorch.org/whl/pytorch_triton_xpu-3.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl#sha256=013d9dd5d6479bd22983161f462e61c8dbe1d82e6730624a7a8d5945507eaa61 ; platform_system == 'Linux' and python_version == '3.11' and platform_machine == 'x86_64'",
"pytorch_triton_xpu @ https://download.pytorch.org/whl/pytorch_triton_xpu-3.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl#sha256=afc8cabfbf7ed51fd278d1e0f88d6afc157b0201bad4b99d681e4d542f9e66d4 ; platform_system == 'Linux' and python_version == '3.12' and platform_machine == 'x86_64'",
"pytorch_triton_xpu @ https://download.pytorch.org/whl/pytorch_triton_xpu-3.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl#sha256=0d24c1716088f2764d0d24c64227732195b6a42706c3c5fc89eeb4904bfa0818 ; platform_system == 'Linux' and python_version == '3.13' and platform_machine == 'x86_64'",

P2 Badge Add Python 3.14 markers to the new XPU extras

For Python 3.14 users, the newly added intelgputorch291 stack stops at python_version == '3.13' for triton/torch/torchvision even though this package advertises requires-python = ">=3.9,<3.15" and the PyTorch XPU index publishes cp314 wheels for the 2.9.1, 2.11.0, and 2.12.0 stacks. Installing unsloth[intel-gpu-torch291] (and the analogous new 2110/2120 extras) on Python 3.14 therefore matches only the unversioned dependencies like bitsandbytes and leaves torch uninstalled, causing runtime import failures.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@danielhanchen danielhanchen merged commit f7069b2 into main May 16, 2026
50 checks passed
@danielhanchen danielhanchen deleted the xpu-extras-refresh branch May 16, 2026 13:18
danielhanchen added a commit that referenced this pull request May 17, 2026
Fixes #5494: installing any intel-gpu-torch* extra
without also pulling `huggingface` or `colab-new` lets the resolver
silently fall back to a stale unsloth_zoo (2026.3.6 in the original
report) because no version floor is enforced on
`unsloth_zoo[intelgpu]` in those blocks.

unsloth_zoo 2026.5.2 (just released) also relaxes its own torch upper
bound from <2.11.0 to <2.13.0, which is what unblocks the resolver for
the intel-gpu-torch2110 and intel-gpu-torch2120 extras shipped in
#5484.

Adding the floor in `huggingfacenotorch` propagates it to every
extra that includes the HF-without-torch base: amd, huggingface, and
all nine intelgputorch* blocks. Single line, single source of truth.

Requires unsloth_zoo 2026.5.2 to be on PyPI for end-to-end resolution.
kustomzone pushed a commit to kustomzone/unsloth-zoo that referenced this pull request May 18, 2026
unsloth/pyproject.toml ships intel-gpu extras pinning torch-2.11.0+xpu
and torch-2.12.0+xpu (added in unslothai/unsloth#5484), but
unsloth_zoo's own torch constraint was capped at <2.11.0. The pip
resolver consequently could not satisfy `pip install
.[intel-gpu-torch2110]` or `.[intel-gpu-torch2120]` end-to-end: it
either failed outright or fell back to a stale unsloth_zoo (2026.3.6)
that does not enforce the cap.

Relax the cap to <2.13.0 so torch 2.11.x and 2.12.x are admissible.
Leaves torch>=2.4.0 floor intact and keeps the future-version cap as a
safety net.
Brishen pushed a commit to Brishen/unsloth-zoo that referenced this pull request May 19, 2026
unsloth/pyproject.toml ships intel-gpu extras pinning torch-2.11.0+xpu
and torch-2.12.0+xpu (added in unslothai/unsloth#5484), but
unsloth_zoo's own torch constraint was capped at <2.11.0. The pip
resolver consequently could not satisfy `pip install
.[intel-gpu-torch2110]` or `.[intel-gpu-torch2120]` end-to-end: it
either failed outright or fell back to a stale unsloth_zoo (2026.3.6)
that does not enforce the cap.

Relax the cap to <2.13.0 so torch 2.11.x and 2.12.x are admissible.
Leaves torch>=2.4.0 floor intact and keeps the future-version cap as a
safety net.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants