Skip to content

Commit ec80ff5

Browse files
committed
fix i32 conversion
1 parent 919eea8 commit ec80ff5

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

ggml/src/ggml-metalium/ggml-metalium.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,10 @@ static void tensor2ggml(const tt::tt_metal::Tensor& tensor, void* dst, ggml_type
460460
if constexpr(std::is_same_v<SrcType, bfloat16>) {
461461
return static_cast<float>(src);
462462
}
463-
else if (std::is_same_v<SrcType, float>) {
463+
else if constexpr (std::is_same_v<SrcType, float>) {
464+
return src;
465+
}
466+
else if constexpr (std::is_same_v<SrcType, uint32_t>) {
464467
return src;
465468
}
466469
GGML_UNREACHABLE();
@@ -553,7 +556,8 @@ static void tensor2ggml(const tt::tt_metal::Tensor& tensor, void* dst, ggml_type
553556
}
554557

555558
if (need_quantized_conversion) {
556-
GGML_ASSERT((ggml_is_quantized(dst_ggtype) || dst_ggtype == GGML_TYPE_F16) && "This block should only reach for quantized data types or FP16");
559+
GGML_ASSERT((ggml_is_quantized(dst_ggtype) || dst_ggtype == GGML_TYPE_F16 || dst_ggtype == GGML_TYPE_I32)
560+
&& "This block should only reach for quantized data types or FP16");
557561
GGML_ASSERT(intermid_buf.size() != 0);
558562
const ggml_type_traits_cpu* trait = ggml_get_type_traits_cpu(dst_ggtype);
559563
GGML_ASSERT(trait->from_float != NULL);

0 commit comments

Comments
 (0)