Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
18ead19
continuous release: tweaks
Titus-von-Koeller May 16, 2025
90f38ac
continuous release: tweaks
Titus-von-Koeller May 16, 2025
66c0c45
continuous release: tweaks
Titus-von-Koeller May 16, 2025
4011273
continuous release: tweaks
Titus-von-Koeller May 16, 2025
3176277
continuous release: tweaks
Titus-von-Koeller May 16, 2025
3047ab9
continuous release: tweaks
Titus-von-Koeller May 19, 2025
513e69b
continuous release: tweak + docs
Titus-von-Koeller May 19, 2025
cdcae8d
CI runner updates (#1643)
matthewdouglas May 19, 2025
d729c18
Update ops.py
MISHANMAURYA May 20, 2025
6459c2b
Update functional.py
MISHANMAURYA May 20, 2025
09249c8
Update ops.py
MISHANMAURYA May 21, 2025
4afa774
Update ops.py
MISHANMAURYA May 21, 2025
033d92c
Update ops.py
MISHANMAURYA May 21, 2025
70bacda
Update test for L40S
matthewdouglas May 21, 2025
d475533
Update README.md
matthewdouglas May 21, 2025
4def959
Update ops.py
MISHANMAURYA May 22, 2025
0f31866
Update functional.py
MISHANMAURYA May 22, 2025
190faed
Update ops.py
MISHANMAURYA May 22, 2025
d7f413b
Update ops.py
MISHANMAURYA May 22, 2025
3b6e68a
Update ops.py
MISHANMAURYA May 22, 2025
06740b1
Update ops.py
MISHANMAURYA May 22, 2025
9fe67ef
Update functional.py
MISHANMAURYA May 22, 2025
d97fdce
Update functional.py
MISHANMAURYA May 22, 2025
e99ac0a
Optimizer backwards compatibility (#1647)
matthewdouglas May 23, 2025
503d243
General cleanup & test improvements (#1646)
matthewdouglas May 24, 2025
9f85829
Add torch.compile tests (#1648)
matthewdouglas May 24, 2025
198d08f
Documentation Cleanup (#1644)
matthewdouglas May 24, 2025
f1fbe92
Update functional.py
MISHANMAURYA May 24, 2025
660c254
Update functional.py
MISHANMAURYA May 24, 2025
1d4ea6a
simplified non_sign_bits (#1649)
ved1beta May 24, 2025
c692f4b
Update ops.py
MISHANMAURYA May 27, 2025
46f9800
Update ops.py
MISHANMAURYA May 27, 2025
0d1b3a3
Last minute pre-release changes
matthewdouglas May 27, 2025
1e54f91
Release 0.46.0
matthewdouglas May 27, 2025
7823bac
Update ops.py
MISHANMAURYA May 28, 2025
d0ed107
Update ops.py
MISHANMAURYA May 28, 2025
af3aaf6
Update ops.py
MISHANMAURYA May 28, 2025
d1e34a5
Update ops.py
MISHANMAURYA May 28, 2025
b2b4df6
Update ops.py
MISHANMAURYA May 28, 2025
8863d0e
Update ops.py
MISHANMAURYA May 28, 2025
d1a5e8d
Update ops.py
MISHANMAURYA May 28, 2025
843ea33
Update functional.py
MISHANMAURYA May 28, 2025
d6d2e5f
Update functional.py
MISHANMAURYA May 28, 2025
e3f9f21
Update functional.py
MISHANMAURYA May 28, 2025
bc0957d
Update test_ops.py
MISHANMAURYA May 28, 2025
b8247ab
Update test_functional.py
MISHANMAURYA May 28, 2025
531758a
Update test_ops.py
MISHANMAURYA May 28, 2025
6d7db8e
Update test_functional.py
MISHANMAURYA May 28, 2025
632e95b
Update test_functional.py
MISHANMAURYA May 28, 2025
aaa71d7
Enable CPU/XPU native and ipex path (#1628)
jiqing-feng May 28, 2025
90d9af2
Update functional.py
MISHANMAURYA May 28, 2025
80048d8
Update functional.py
MISHANMAURYA May 28, 2025
e448ebb
Update ops.py
MISHANMAURYA May 28, 2025
048faa8
Update ops.py
MISHANMAURYA May 28, 2025
c45e9d1
Update test_functional.py
MISHANMAURYA May 28, 2025
47a491f
Update test_functional.py
MISHANMAURYA May 28, 2025
86976bc
Update cextension.py
MISHANMAURYA May 28, 2025
98a142a
Update cuda_specs.py
MISHANMAURYA May 28, 2025
888fe46
Update cuda_specs.py
MISHANMAURYA May 28, 2025
c9c52b5
Update test_functional.py
MISHANMAURYA May 29, 2025
fc29586
Update test_linear4bit.py
MISHANMAURYA May 30, 2025
53b8b1c
Update test_cuda_setup_evaluator.py
MISHANMAURYA May 30, 2025
fe1fe7c
Update test_functional.py
MISHANMAURYA May 30, 2025
e198824
Update modules.py
MISHANMAURYA May 30, 2025
dd58310
Update modules.py
MISHANMAURYA May 30, 2025
931bd70
Update ops.py
MISHANMAURYA May 30, 2025
9e62d46
Update test_linear4bit.py
MISHANMAURYA May 30, 2025
1f71562
Update ops.py
MISHANMAURYA Jun 2, 2025
eac7632
Update ops.py
MISHANMAURYA Jun 2, 2025
66dcfc4
Update test_linear4bit.py
MISHANMAURYA Jun 2, 2025
b96905d
Update test_linear4bit.py
MISHANMAURYA Jun 2, 2025
a2a74ed
Bump dev version
matthewdouglas Jun 2, 2025
ef31c36
Update python-package.yml
MISHANMAURYA Jun 2, 2025
e1435f0
Update python-package.yml
MISHANMAURYA Jun 2, 2025
da9a271
Update python-package.yml
MISHANMAURYA Jun 2, 2025
08848da
Update python-package.yml
MISHANMAURYA Jun 2, 2025
945f7c1
Fix CI regression (#1666)
matthewdouglas Jun 2, 2025
978cba3
Create build-rocm.sh
MISHANMAURYA Jun 2, 2025
318a86e
Add CPU + IPEX to nightly CI (#1667)
matthewdouglas Jun 2, 2025
41f21d4
Merge upstream/main into IFU-master-2025-06-03
MISHANMAURYA Jun 3, 2025
10bee25
Make ROCm build script executable
MISHANMAURYA Jun 3, 2025
55ebaac
Tests: don't require grad on weights for test_kbit_backprop
matthewdouglas Jun 3, 2025
49c10f7
Update main.py
MISHANMAURYA Jun 3, 2025
26ac4e8
Update cuda_specs.py
MISHANMAURYA Jun 3, 2025
fbfd590
Formatting
MISHANMAURYA Jun 3, 2025
cd8bd2d
pass current bnb_quantized when moving quantized Params4bit to differ…
mklabunde Jun 3, 2025
e6bed99
Merge remote-tracking branch 'upstream/main' into IFU-master-2025-06-03
MISHANMAURYA Jun 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/scripts/build-rocm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
declare build_arch
declare build_os
declare rocm_version

set -xeuo pipefail
bnb_rocm_arch="gfx90a;gfx942;gfx1100"
if [ "${build_os:0:6}" == ubuntu ]; then
image=rocm/dev-ubuntu-22.04:${rocm_version}-complete
echo "Using image $image"
docker run --rm --platform "linux/$build_arch" -i \
-w /src -v "$PWD:/src" "$image" sh -c \
"apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cmake \
&& cmake -DCOMPUTE_BACKEND=hip -DBNB_ROCM_ARCH=\"${bnb_rocm_arch}\" . \
&& cmake --build ."
fi

output_dir="output/${build_os}/${build_arch}"
mkdir -p "${output_dir}"
(shopt -s nullglob && cp bitsandbytes/*.{so,dylib,dll} "${output_dir}")
101 changes: 91 additions & 10 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,55 @@ jobs:
path: output/*
retention-days: 7

build-shared-libs-rocm:
strategy:
matrix:
os: [ubuntu-22.04]
arch: [x86_64]
rocm_version:
["6.1.2", "6.2.4", "6.3.2"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Docker multiarch
uses: docker/setup-qemu-action@v3
- name: Clean up disk space
run: |
sudo rm -rf \
/usr/share/dotnet \
/opt/ghc \
"/usr/local/share/boost" \
"$AGENT_TOOLSDIRECTORY" \
/opt/hostedtoolcache \
/opt/google/chrome \
/opt/microsoft/msedge \
/opt/microsoft/powershell \
/opt/pipx \
/usr/lib/mono \
/usr/local/julia* \
/usr/local/lib/android \
/usr/local/lib/node_modules \
/usr/local/share/chromium \
/usr/local/share/powershell \
/usr/share/swift
- name: Build C++
run: bash .github/scripts/build-rocm.sh
env:
build_os: ${{ matrix.os }}
build_arch: ${{ matrix.arch }}
rocm_version: ${{ matrix.rocm_version }}
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: shared_library_rocm_${{ matrix.os }}_${{ matrix.arch }}_${{ matrix.rocm_version }}
path: output/*
retention-days: 7

build-wheels:
needs:
- build-shared-libs
- build-shared-libs-cuda
- build-shared-libs-rocm
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-22.04-arm, windows-latest, macos-latest]
Expand Down Expand Up @@ -171,10 +216,17 @@ jobs:
path: tmp/
pattern: "bdist_wheel_*"
merge-multiple: true

- name: Inspect tmp directory after downloading artifacts
run: ls -alFR tmp/

run: |
ls -alFR tmp/
WHEEL_COUNT=$(find tmp/ -type f -name "*.whl" | wc -l)
echo "Found $WHEEL_COUNT wheel files"
if [ "$WHEEL_COUNT" -eq 0 ]; then
echo "::error::No wheel files found in tmp directory! Cannot proceed with release."
exit 1
fi

- name: Move and rename wheel files with pattern replacement
run: |
mkdir -p wheels/
Expand All @@ -199,37 +251,67 @@ jobs:

- name: Inspect wheels directory after renaming files
run: ls -alFR wheels/


- uses: actions/checkout@v4
with:
path: repo
- name: Delete old pre-release (if exists)
run: |
gh release delete continuous-release_main --cleanup-tag -y || true
cd repo && gh release delete continuous-release_main --cleanup-tag -y
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Ensure tag exists
run: |
cd repo
git tag -f continuous-release_main
git push -f origin continuous-release_main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Generate pip install commands for release body
run: |
cat > body.md << 'ENDOFMARKDOWN'
## Latest `main` Wheel Pre-release
## Latest `main` pre-release wheel

This pre-release contains the latest development wheels for all supported platforms, rebuilt automatically on every commit to the `main` branch.

**How to install:**
**How to install:**
Pick the correct command for your platform and run it in your terminal:

ENDOFMARKDOWN

for whl in wheels/*.whl; do
fname=$(basename "$whl")
url="https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_main/$fname"

if [[ "$fname" == *"manylinux_2_24_x86_64"* ]]; then
echo "### Linux (x86_64)" >> body.md
elif [[ "$fname" == *"manylinux_2_24_aarch64"* ]]; then
echo "### Linux (ARM/aarch64)" >> body.md
elif [[ "$fname" == *"win_amd64"* ]]; then
echo "### Windows (x86_64)" >> body.md
else
echo "### Other platform" >> body.md
fi

echo "\`\`\`sh" >> body.md
echo "pip install $url" >> body.md
echo "pip install --force-reinstall $url" >> body.md
echo "\`\`\`" >> body.md
echo "" >> body.md
done

cat >> body.md << 'ENDOFMARKDOWN'
> **Note:**
> **Note:**
> These wheels are updated automatically with every commit to `main` and become available as soon as the [python-package.yml](.github/workflows/python-package.yml) workflow finishes.

The version number is replaced with 1.33.7-preview in order to keep the link stable, this however does not affect the installed version at all:
```
> pip install https://.../bitsandbytes-1.33.7-preview-py3-none-manylinux_2_24_x86_64.whl
Collecting bitsandbytes==1.33.7rc0
...
Successfully installed bitsandbytes-0.46.0.dev0
```
ENDOFMARKDOWN

# for debugging:
Expand All @@ -245,7 +327,6 @@ jobs:
tag_name: continuous-release_main
make_latest: false
draft: false
target_commitish: ${{ github.sha }}

audit-wheels:
needs: build-wheels
Expand Down
Loading