1. 27 Mar, 2025 2 commits
  2. 25 Mar, 2025 1 commit
    • Matthew Douglas's avatar
      PyTorch Custom Operator Integration (#1544) · e82f72b3
      Matthew Douglas authored
      
      
      * Sketch out first custom op registration
      
      * Add note
      
      * Initial int8 op registration
      
      * Cleanup some deprecated functions.
      
      * Int8 ops updates; tests
      
      * Implement 4bit quant/dequant ops
      
      * Fix nested quant
      
      * cleanup
      
      * Test improvements
      
      * Clean up and improve tests
      
      * Add higher level custom op for int8 matmul + dequant + bias
      
      * Add gemv 4bit custom op
      
      * Cleanup
      
      * Implement out kwarg overloads for custom ops
      
      * Update PyTorch minimum to 2.1
      
      * Deprecation updates
      
      * Deprecation updates
      
      * Cleanup; rename int8_linear_dequant -> int8_scaled_mm
      
      * Bump min pytorch to 2.2
      
      * cleanup
      
      * Test reorganization
      
      * Remove deprecated supports_igemmlt
      
      * More cleanup
      
      * Cleanup obsolete C++/CUDA code
      
      * Cleanup
      
      * Create 'default' backend for fallback op implementations; initial CPU nf4 work
      
      * Stub out for multi-platform
      
      * Fix serialization tests for torch>=2.6.0
      
      * Add example for torch.compile e2e inference
      
      * Test update
      
      ---------
      Co-authored-by: default avatarTitus von Koeller <9048635+Titus-von-Koeller@users.noreply.github.com>
      e82f72b3
  3. 25 Feb, 2025 1 commit
  4. 06 Feb, 2025 1 commit
  5. 28 Jan, 2025 1 commit
  6. 23 Jan, 2025 1 commit
  7. 14 Jan, 2025 1 commit
  8. 17 Dec, 2024 1 commit
  9. 05 Dec, 2024 1 commit
    • Matthew Douglas's avatar
      LLM.int8() Refactoring: Part 1 (#1401) · 81e6345d
      Matthew Douglas authored
      
      
      * Start of int8 refactor: remove col32/col_ampere/col_turing transforms in new igemmlt implementation
      
      * Fix unintended change
      
      * New naive mm_dequant kernel for row-major; cleanup
      
      * fix
      
      * int8 refactor: initial sparse decomp, cleanup
      
      * Int8 refactoring: remove separate NO_CUBLASLT build; more cleanup
      
      * int8: inference optimizations, some cleanup
      
      * int8: more tests passing, cleanup
      
      * int8 - more cleanup, most tests passing
      
      * int8: specify CUDA stream for int8 ops
      
      * perf: reduce overhead from getting cudaStream ptr
      
      * Mark some functions for deprecation.
      
      * int8 sparse decomp: small perf improvement
      
      * update setup.py
      
      * Update bitsandbytes/autograd/_functions.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update bitsandbytes/research/autograd/_functions.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * int8 - perf improvement for sparse decomposition inference; deprecate get_tensor_stream() in favor of new private fn
      
      * int8 cleanup
      
      * Ignore ruff rule ISC001 (incompatible with formatter)
      
      * add comment
      
      * int8 more cleanup
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * int8: rename / deprecate old fn signatures
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * type annotation
      
      * format update
      
      * Update bitsandbytes/research/autograd/_functions.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * cleanup
      
      * Add comment to explain division optimization
      
      * more cleanup
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update bitsandbytes/functional.py
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * cleanup
      
      * Type annotations, cleanup
      
      * remove unused kernels; improved type annotations
      
      * small perf optimization for single-GPU systems
      
      * small perf optimization for single-GPU systems
      
      * update docstrings
      
      * Improve docs and tests
      
      * Update docstring
      
      * Update test
      
      * add benchmarking script
      
      * test cleanup: add deprecated marker, move benchmarks out
      
      * Add int8 dequant function; misc improvements
      
      * int8 matmul fallback for inner dims not divisible by 4
      
      * improve register usage of kInt8VectorQuant - especially for A100/H100
      
      * disable fail-fast for package build
      
      * maxwell compat
      
      * ptxas verbose
      
      * docs update
      
      * doc update
      
      * backward fix
      
      * Bugfix sparse decomp
      
      * Int8 fix for PEFT OLoRA init
      
      * Fix test for deprecated spmm_coo
      
      * test improvement
      
      * doc update
      
      * typo
      
      * doc cleanup
      
      * docs
      
      * add inference benchmark script
      
      * Add benchmarks, doc update
      
      ---------
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      81e6345d
  10. 19 Nov, 2024 1 commit
  11. 23 Oct, 2024 1 commit
  12. 13 Mar, 2024 1 commit
  13. 05 Feb, 2024 1 commit
    • Rickard's avatar
      Make native code portable and add GitHub workflow for building (#949) · 73d3e7b6
      Rickard authored
      
      
      * Make native code portable and add GitHub workflow for building
      
      * Removed deprecated Python versions
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      
      * Update python-package.yml
      
      * Do not test on Python 3.13 until released
      
      * Update python-package.yml
      
      * Update python-package.yml
      
      * Update python-package.yml
      
      * Update python-package.yml
      
      * Refactor build stage
      
      * Fixed breaking actions change
      
      * Slim down Windows cuda
      
      * Create dependabot.yml
      
      * Bespoke local dev requirements.txt
      
      * Enable VS integration
      
      * Group Dependabot updates
      
      * Cleanup
      
      * Update python-package.yml
      
      * Reinstate file that was wrongly merged
      
      * Fixed regression caused by new version of download-artifact
      
      * Update python-package.yml
      
      * Update python-package.yml
      
      * Fix matrix
      
      * Update python-package.yml
      
      * Merge
      
      * Pipeline
      
      * Fixed conflict
      
      * Fixed conflict
      
      * Update CMakeLists.txt
      
      * Fixed merge error
      
      * cleanup
      
      * cleanup
      
      * Find CUDA
      
      * Fix
      
      * Fixing merge error from latest merge from main
      
      * Fix setup.py
      
      * Fixed typo in artifact name
      
      * Remove linker flags
      
      * Build nocublaslt versions
      
      * Fixed formatting
      
      * Fixed VS Code format on save
      
      * Ran format on save from VScode
      
      * Re-saved the json files using the new settings
      
      * Re-saved CMakeLists.txt to get formatting right
      
      * Add path filter
      
      * Formatting
      
      ---------
      Co-authored-by: default avatarAarni Koskela <akx@iki.fi>
      73d3e7b6
  14. 30 Jan, 2024 1 commit
    • Aarni Koskela's avatar
      Ruff fixes (#984) · 706ec24d
      Aarni Koskela authored
      
      
      * Adjust Ruff configuration
      
      * do not autofix always
      * be less strict around tests and benchmarks
      * adjust ignores for now
      
      * Ruff: autofix I and F401
      
      * Apply ruff autofixes
      
      * Fix RUF013 complaint
      
      * Fix mutable default in replace_linear
      
      * Don't use bare except
      
      * Wrap bitsandbytes.__main__ entrypoint in function; fix "sensible" typo
      
      * Fix ruff B008 (function call in arguments)
      
      * Add ruff noqas as suitable
      
      * Fix RUF005 (splat instead of concatenating)
      
      * Fix B018 (useless expression)
      
      * Add pre-commit configuration + GitHub Actions lint workflow
      
      * Fix unused `e` in bitsandbytes/__main__.py
      
      * fix merge conflict resolution error
      
      * run pre-commit hook
      
      ---------
      Co-authored-by: default avatarTitus <9048635+Titus-von-Koeller@users.noreply.github.com>
      706ec24d
  15. 29 Jan, 2024 1 commit
    • Aarni Koskela's avatar
      Fix some issues found by Mypy (#995) · a8c9dfa6
      Aarni Koskela authored
      * Fix erroneous type aliasing
      
      * Fix `Optional` typings (see PEP 484)
      
      * Add Mypy ignores
      
      * Fix Mypy complaints for method tables
      
      * Fix type for get_ptr
      
      * Fix various Mypy errors
      
      * Fix missed call to is_triton_available
      a8c9dfa6
  16. 03 Dec, 2023 1 commit
  17. 06 Oct, 2021 1 commit