From 5f93ed191619db3fc60cfcd52f764de690c212d6 Mon Sep 17 00:00:00 2001 From: Qubitium Date: Sun, 23 Nov 2025 13:08:42 +0000 Subject: [PATCH] fix mps backend does not implement float64 --- gptqmodel/utils/linalg_warmup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gptqmodel/utils/linalg_warmup.py b/gptqmodel/utils/linalg_warmup.py index cace622f8..10bfacd00 100644 --- a/gptqmodel/utils/linalg_warmup.py +++ b/gptqmodel/utils/linalg_warmup.py @@ -44,7 +44,11 @@ def run_torch_linalg_warmup(device: torch.device) -> None: still runs once per physical device so backend-specific handles are initialized where needed. """ with _GLOBAL_WARMUP_LOCK: - dtypes = (torch.float32, torch.float64) + if device.type == "mps": + dtypes = (torch.float32,) # MPS backend does not implement float64. + else: + dtypes = (torch.float32, torch.float64) + for dtype in dtypes: _run_cholesky_and_eigh(device, dtype) _run_svd(device, dtype)