pip: require bitsandbytes>=0.50.0 in the amd extra

bnb <= 0.49.2 NaNs at decode shape on every AMD GPU. The ROCm 4-bit GEMV
fix (bnb PR #1887) merged after 0.49.2 and its merge commit is an ancestor
of the 0.50.0 tag, so 0.50.0 is the first PyPI release carrying it.

The PyPI wheels ship the ROCm binaries for the platforms these markers
select: libbitsandbytes_rocm{64,70,71,714,72}.so on manylinux x86_64 and
libbitsandbytes_rocm{72,714}.dll on win_amd64. 0.49.1 already required
Python >=3.10, same as 0.50.0, so the Python floor is unchanged.
This commit is contained in:
LeoBorcherding 2026-07-27 17:25:29 -05:00
commit 1e3190e2e2

View file

@ -171,8 +171,10 @@ huggingfacenotorch = [
]
amd = [
"unsloth[huggingfacenotorch]",
"bitsandbytes>=0.49.1 ; ('linux' in sys_platform) and (platform_machine == 'AMD64' or platform_machine == 'x86_64' or platform_machine == 'aarch64')",
"bitsandbytes>=0.49.1 ; (sys_platform == 'win32') and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
# bnb <= 0.49.2 NaNs at decode shape on every AMD GPU; the ROCm 4-bit GEMV
# fix (bnb PR #1887) first ships in 0.50.0, which is now on PyPI.
"bitsandbytes>=0.50.0 ; ('linux' in sys_platform) and (platform_machine == 'AMD64' or platform_machine == 'x86_64' or platform_machine == 'aarch64')",
"bitsandbytes>=0.50.0 ; (sys_platform == 'win32') and (platform_machine == 'AMD64' or platform_machine == 'x86_64')",
]
windows = [
"unsloth[huggingface]",