Skip to content

Commit 0f5c394

Browse files
committed
Added version 0.37.0.
1 parent de53588 commit 0f5c394

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,15 @@ Improvements:
189189
- StableEmbedding layer now has device and dtype parameters to make it 1:1 replaceable with regular Embedding layers (@lostmsu)
190190
- runtime performance of block-wise quantization slightly improved
191191
- added error message for the case multiple libcudart.so are installed and bitsandbytes picks the wrong one
192+
193+
194+
### 0.37.0
195+
196+
#### Int8 Matmul + backward support for all GPUs
197+
198+
Features:
199+
- Int8 MatmulLt now supports backward through inversion of the ColTuring/ColAmpere format. Slow, but memory efficient. Big thanks to @borzunov
200+
- Int8 now supported on all GPUs. On devices with compute capability < 7.5, the Int weights are cast to 16/32-bit for the matrix multiplication. Contributed by @borzunov
201+
202+
Improvements:
203+
- Improved logging for the CUDA detection mechanism.

bitsandbytes/cuda_setup/main.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,10 @@ def generate_instructions(self):
8080
self.add_log_entry('python setup.py install')
8181

8282
def initialize(self):
83-
self.has_printed = False
84-
self.lib = None
85-
self.initialized = False
83+
if not getattr(self, 'initialized', False):
84+
self.has_printed = False
85+
self.lib = None
86+
self.initialized = False
8687

8788
def run_cuda_setup(self):
8889
self.initialized = True
@@ -103,7 +104,7 @@ def run_cuda_setup(self):
103104
legacy_binary_name = "libbitsandbytes_cpu.so"
104105
self.add_log_entry(f"CUDA SETUP: Defaulting to {legacy_binary_name}...")
105106
binary_path = package_dir / legacy_binary_name
106-
if not binary_path.exists():
107+
if not binary_path.exists() or torch.cuda.is_available():
107108
self.add_log_entry('')
108109
self.add_log_entry('='*48 + 'ERROR' + '='*37)
109110
self.add_log_entry('CUDA SETUP: CUDA detection failed! Possible reasons:')
@@ -112,6 +113,7 @@ def run_cuda_setup(self):
112113
self.add_log_entry('3. You have multiple conflicting CUDA libraries')
113114
self.add_log_entry('4. Required library not pre-compiled for this bitsandbytes release!')
114115
self.add_log_entry('CUDA SETUP: If you compiled from source, try again with `make CUDA_VERSION=DETECTED_CUDA_VERSION` for example, `make CUDA_VERSION=113`.')
116+
self.add_log_entry('CUDA SETUP: The CUDA version for the compile might depend on your conda install. Inspect CUDA version via `conda list | grep cuda`.')
115117
self.add_log_entry('='*80)
116118
self.add_log_entry('')
117119
self.generate_instructions()
@@ -148,7 +150,7 @@ def is_cublasLt_compatible(cc):
148150
if cc is not None:
149151
cc_major, cc_minor = cc.split('.')
150152
if int(cc_major) < 7 or (int(cc_major) == 7 and int(cc_minor) < 5):
151-
cuda_setup.add_log_entry("WARNING: Compute capability < 7.5 detected! Proceeding to load CPU-only library...", is_warning=True)
153+
cuda_setup.add_log_entry("WARNING: Compute capability < 7.5 detected! Only slow 8-bit matmul is supported for your GPU!", is_warning=True)
152154
else:
153155
has_cublaslt = True
154156
return has_cublaslt
@@ -362,7 +364,6 @@ def evaluate_cuda_setup():
362364
print('')
363365
print('='*35 + 'BUG REPORT' + '='*35)
364366
print('Welcome to bitsandbytes. For bug reports, please submit your error trace to: https://github.com/TimDettmers/bitsandbytes/issues')
365-
print('For effortless bug reporting copy-paste your error into this form: https://docs.google.com/forms/d/e/1FAIpQLScPB8emS3Thkp66nvqwmjTEgxp8Y9ufuWTzFyr9kJ5AoI47dQ/viewform?usp=sf_link')
366367
print('='*80)
367368
if not torch.cuda.is_available(): return 'libsbitsandbytes_cpu.so', None, None, None, None
368369

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def read(fname):
1818

1919
setup(
2020
name=f"bitsandbytes",
21-
version=f"0.36.0-2",
21+
version=f"0.37.0",
2222
author="Tim Dettmers",
2323
author_email="[email protected]",
2424
description="8-bit optimizers and matrix multiplication routines.",

0 commit comments

Comments
 (0)