Add cu128/cu126/cu130 torch 2.11.0 extras (torch2110) with xformers 0.0.35

The cu*-ampere-torch2100 / cu*-torch2100 extras cap the CUDA training stack at
torch 2.10.0 because their xformers 0.0.34 wheel hard-requires torch==2.10.0.
There was no torch 2.11.0 counterpart for the CUDA indexes, so anything that
wants torch 2.11.0 (the Docker image, torchao 0.17.0, the rocm7.2 studio path)
could not select a matching unsloth extra: torch==2.11.0 plus
unsloth[cu128-ampere-torch2100] is unsatisfiable (xformers 0.0.34 -> torch 2.10.0).

Add the torch2110 family mirroring the torch2100 layout for cu126/cu128/cu130:
- cu{126,128,130}onlytorch2110: xformers 0.0.35 (linux + win32) plus an explicit
  torch>=2.11.0,<2.12.0 trio. xformers 0.0.35 does not hard-pin torch the way
  0.0.34 pinned 2.10.0, so without the trio a bare resolve floats torch to 2.12.x;
  the pin keeps the "torch2110" name faithful and matches studio's
  torch>=2.11.0,<2.12.0 convention and the existing xpu torch2110 extra.
- cu{126,128,130}-torch2110 and cu{126,128,130}-ampere-torch2110: huggingface +
  bitsandbytes + the matching onlytorch2110, same shape as the torch2100 wrappers.

Resolves cleanly: unsloth[cu128-ampere-torch2110] -> torch 2.11.0+cu128 /
torchvision 0.26.0 / torchaudio 2.11.0 / xformers 0.0.35.
This commit is contained in:
Daniel Han 2026-07-08 01:45:18 +00:00
commit ae319b11b0

View file

@ -337,6 +337,31 @@ cu130onlytorch2100 = [
"xformers @ https://download.pytorch.org/whl/cu130/xformers-0.0.34-cp39-abi3-manylinux_2_28_x86_64.whl ; ('linux' in sys_platform)",
"xformers @ https://download.pytorch.org/whl/cu130/xformers-0.0.34-cp39-abi3-win_amd64.whl ; (sys_platform == 'win32')",
]
cu126onlytorch2110 = [
# xformers 0.0.35 does not hard-pin torch the way 0.0.34 pinned torch==2.10.0,
# so pin the torch 2.11.x trio explicitly to keep this "torch2110" extra faithful
# (a bare resolve otherwise floats torch up to 2.12.x). Mirrors studio's
# torch>=2.11.0,<2.12.0 convention and the xpu torch2110 extra.
"torch>=2.11.0,<2.12.0",
"torchvision>=0.26.0,<0.27.0",
"torchaudio>=2.11.0,<2.12.0",
"xformers @ https://download.pytorch.org/whl/cu126/xformers-0.0.35-py39-none-manylinux_2_28_x86_64.whl ; ('linux' in sys_platform)",
"xformers @ https://download.pytorch.org/whl/cu126/xformers-0.0.35-py39-none-win_amd64.whl ; (sys_platform == 'win32')",
]
cu128onlytorch2110 = [
"torch>=2.11.0,<2.12.0",
"torchvision>=0.26.0,<0.27.0",
"torchaudio>=2.11.0,<2.12.0",
"xformers @ https://download.pytorch.org/whl/cu128/xformers-0.0.35-py39-none-manylinux_2_28_x86_64.whl ; ('linux' in sys_platform)",
"xformers @ https://download.pytorch.org/whl/cu128/xformers-0.0.35-py39-none-win_amd64.whl ; (sys_platform == 'win32')",
]
cu130onlytorch2110 = [
"torch>=2.11.0,<2.12.0",
"torchvision>=0.26.0,<0.27.0",
"torchaudio>=2.11.0,<2.12.0",
"xformers @ https://download.pytorch.org/whl/cu130/xformers-0.0.35-py39-none-manylinux_2_28_x86_64.whl ; ('linux' in sys_platform)",
"xformers @ https://download.pytorch.org/whl/cu130/xformers-0.0.35-py39-none-win_amd64.whl ; (sys_platform == 'win32')",
]
cu118 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
@ -542,6 +567,21 @@ cu130-torch2100 = [
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu130onlytorch2100]",
]
cu126-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu126onlytorch2110]",
]
cu128-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu128onlytorch2110]",
]
cu130-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu130onlytorch2110]",
]
kaggle = [
"unsloth[huggingface]",
]
@ -841,6 +881,21 @@ cu130-ampere-torch2100 = [
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu130onlytorch2100]",
]
cu126-ampere-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu126onlytorch2110]",
]
cu128-ampere-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu128onlytorch2110]",
]
cu130-ampere-torch2110 = [
"unsloth[huggingface]",
"bitsandbytes>=0.45.5,!=0.46.0,!=0.48.0",
"unsloth[cu130onlytorch2110]",
]
flashattentiontorch260abiFALSEcu12x = [
"flash-attn @ https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp39-cp39-linux_x86_64.whl ; ('linux' in sys_platform) and python_version == '3.9'",
"flash-attn @ https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl ; ('linux' in sys_platform) and python_version == '3.10'",