Skip to content

Commit 7dca700

Browse files
[Build] Add CUDA 12.6.2 build; update 12.5.0 to 12.5.1 (#1431)
* [Build] Add CUDA 12.6.2 build; update 12.5.0 to 12.5.1 * bump cuda-toolkit action version * Update docs for cuda versions
1 parent 31eeb60 commit 7dca700

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

.github/workflows/python-package.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
os: [ubuntu-latest, windows-latest]
6565
arch: [x86_64, aarch64]
6666
cuda_version:
67-
["11.7.1", "11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.0"]
67+
["11.7.1", "11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.2"]
6868
exclude:
6969
- os: windows-latest # This probably requires arm64 Windows agents
7070
arch: aarch64
@@ -78,7 +78,7 @@ jobs:
7878
if: startsWith(matrix.os, 'ubuntu')
7979
uses: docker/setup-qemu-action@v2
8080
# Windows: We install Cuda on the agent (slow)
81-
- uses: Jimver/[email protected].16
81+
- uses: Jimver/[email protected].19
8282
if: startsWith(matrix.os, 'windows')
8383
id: cuda-toolkit
8484
with:

docs/source/installation.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Welcome to the installation guide for the `bitsandbytes` library! This document
1919

2020
## CUDA[[cuda]]
2121

22-
`bitsandbytes` is currently only supported on CUDA GPUs for CUDA versions **11.0 - 12.5**. However, there's an ongoing multi-backend effort under development, which is currently in alpha. If you're interested in providing feedback or testing, check out [the multi-backend section below](#multi-backend).
22+
`bitsandbytes` is currently only supported on CUDA GPUs for CUDA versions **11.0 - 12.6**. However, there's an ongoing multi-backend effort under development, which is currently in alpha. If you're interested in providing feedback or testing, check out [the multi-backend section below](#multi-backend).
2323

2424
### Supported CUDA Configurations[[cuda-pip]]
2525

@@ -29,7 +29,7 @@ The latest version of `bitsandbytes` builds on the following configurations:
2929
|-------------|------------------|----------------------|
3030
| **Linux** | 11.7 - 12.3 | GCC 11.4 |
3131
| | 12.4+ | GCC 13.2 |
32-
| **Windows** | 11.7 - 12.4 | MSVC 19.38+ (VS2022) |
32+
| **Windows** | 11.7 - 12.6 | MSVC 19.38+ (VS2022) |
3333

3434
For Linux systems, ensure your hardware meets the following requirements:
3535

@@ -115,7 +115,7 @@ pip install -e . # `-e` for "editable" install, when developing BNB (otherwise
115115

116116
Windows systems require Visual Studio with C++ support as well as an installation of the CUDA SDK.
117117

118-
To compile from source, you need CMake >= **3.22.1** and Python >= **3.8** installed. You should also install CUDA Toolkit by following the [CUDA Installation Guide for Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) guide from NVIDIA.
118+
To compile from source, you need CMake >= **3.22.1** and Python >= **3.9** installed. You should also install CUDA Toolkit by following the [CUDA Installation Guide for Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) guide from NVIDIA.
119119

120120
Refer to the following table if you're using another CUDA Toolkit version.
121121

@@ -150,12 +150,12 @@ Then locally install the CUDA version you need with this script from bitsandbyte
150150
```bash
151151
wget https://raw.githubusercontent.com/bitsandbytes-foundation/bitsandbytes/main/install_cuda.sh
152152
# Syntax cuda_install CUDA_VERSION INSTALL_PREFIX EXPORT_TO_BASH
153-
# CUDA_VERSION in {110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125}
153+
# CUDA_VERSION in {110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 126}
154154
# EXPORT_TO_BASH in {0, 1} with 0=False and 1=True
155155

156-
# For example, the following installs CUDA 11.7 to ~/local/cuda-11.7 and exports the path to your .bashrc
156+
# For example, the following installs CUDA 12.6 to ~/local/cuda-12.6 and exports the path to your .bashrc
157157

158-
bash install_cuda.sh 117 ~/local 1
158+
bash install_cuda.sh 126 ~/local 1
159159
```
160160

161161
2. Set the environment variables `BNB_CUDA_VERSION` and `LD_LIBRARY_PATH` by manually overriding the CUDA version installed by PyTorch.
@@ -171,8 +171,8 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<PATH>
171171
For example, to use a local install path:
172172

173173
```bash
174-
export BNB_CUDA_VERSION=117
175-
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/YOUR_USERNAME/local/cuda-11.7
174+
export BNB_CUDA_VERSION=126
175+
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/YOUR_USERNAME/local/cuda-12.6
176176
```
177177

178178
3. Now when you launch bitsandbytes with these environment variables, the PyTorch CUDA version is overridden by the new CUDA version (in this example, version 11.7) and a different bitsandbytes library is loaded.

install_cuda.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"122": "https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run",
1919
"123": "https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda_12.3.2_545.23.08_linux.run",
2020
"124": "https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run",
21-
"125": "https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run",
21+
"125": "https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux.run",
22+
"126": "https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda_12.6.2_560.35.03_linux.run",
2223
}
2324

2425

install_cuda.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ URL121=https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installer
1212
URL122=https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
1313
URL123=https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda_12.3.2_545.23.08_linux.run
1414
URL124=https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
15-
URL125=https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run
15+
URL125=https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux.run
16+
URL126=https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda_12.6.2_560.35.03_linux.run
1617

1718
CUDA_VERSION=$1
1819
BASE_PATH=$2
@@ -64,6 +65,9 @@ if [[ -n "$CUDA_VERSION" ]]; then
6465
elif [[ "$CUDA_VERSION" -eq "125" ]]; then
6566
URL=$URL125
6667
FOLDER=cuda-12.5
68+
elif [[ "$CUDA_VERSION" -eq "126" ]]; then
69+
URL=$URL126
70+
FOLDER=cuda-12.6
6771
else
6872
echo "argument error: No cuda version passed as input. Choose among versions 110 to 125"
6973
fi

0 commit comments

Comments
 (0)