diff --git a/python/llm/src/bigdl/llm/transformers/low_bit_linear.py b/python/llm/src/bigdl/llm/transformers/low_bit_linear.py index 241f6109..2a040bf0 100644 --- a/python/llm/src/bigdl/llm/transformers/low_bit_linear.py +++ b/python/llm/src/bigdl/llm/transformers/low_bit_linear.py @@ -98,7 +98,10 @@ def ggml_q_format_convet_cpu2xpu(tensor: torch.Tensor, num_elem: int, qtype: int src = ctypes.c_void_p(tensor.data.data_ptr()) - dst_tensor = torch.empty_like(tensor) + if qtype == ggml_tensor_qtype["sym_int4"]: + dst_tensor = torch.empty_like(tensor) + else: + return tensor dst = ctypes.c_void_p(dst_tensor.data.data_ptr()) ggml.ggml_q_format_convet_cpu2xpu(src, dst, num_elem, qtype) return dst_tensor @@ -114,7 +117,10 @@ def ggml_q_format_convet_xpu2cpu(tensor: torch.Tensor, num_elem: int, qtype: int src = ctypes.c_void_p(tensor.data.data_ptr()) - dst_tensor = torch.empty_like(tensor) + if qtype == ggml_tensor_qtype["sym_int4"]: + dst_tensor = torch.empty_like(tensor) + else: + return tensor dst = ctypes.c_void_p(dst_tensor.data.data_ptr()) ggml.ggml_q_format_convet_xpu2cpu(src, dst, num_elem, qtype) return dst_tensor