From 11366842c9ab6b3657738112c39943df16471060 Mon Sep 17 00:00:00 2001 From: Mr-Neutr0n <64578610+Mr-Neutr0n@users.noreply.github.com> Date: Fri, 6 Feb 2026 23:57:37 +0530 Subject: [PATCH] Add LARS to str2optimizer32bit dictionary LARS optimizer was missing from str2optimizer32bit, causing KeyError when using LARS32bit optimizer. LARS uses momentum-based kernels since it's essentially SGD with momentum plus layerwise adaptive learning rates. Fixes #1810 --- bitsandbytes/backends/cuda/ops.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bitsandbytes/backends/cuda/ops.py b/bitsandbytes/backends/cuda/ops.py index cb2796b1f..ecafbdf25 100644 --- a/bitsandbytes/backends/cuda/ops.py +++ b/bitsandbytes/backends/cuda/ops.py @@ -574,6 +574,10 @@ def _gemv_4bit_impl( lib.cademamix32bit_grad_fp16, lib.cademamix32bit_grad_bf16, ), + "lars": ( + lib.cmomentum32bit_grad_32, + lib.cmomentum32bit_grad_16, + ), } str2optimizer8bit_blockwise = {