diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 7850fe0b5..00b39d455 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -897,6 +897,10 @@ if (GGML_TMAC) set(GGML_EXTRA_LIBS_PRIVATE ${GGML_EXTRA_LIBS_PRIVATE} t_mac_no_tvm) set(GGML_SOURCES_TMAC ${GGML_SOURCES_TMAC} ${TMAC_KERNELS_SOURCE}) endif() + + if (GGML_TMAC_RECHUNK) + add_compile_definitions(TMAC_RECHUNK) + endif() else() message(WARNING "TMAC not found") endif() diff --git a/ggml/src/ggml-cpu.c b/ggml/src/ggml-cpu.c index adc58ad0a..68fda5f33 100644 --- a/ggml/src/ggml-cpu.c +++ b/ggml/src/ggml-cpu.c @@ -7577,13 +7577,14 @@ UseGgmlGemm1:; int64_t dr0 = chunk_size0; int64_t dr1 = chunk_size1; - +#if defined(TMAC_RECHUNK) // Rechunk if ((nchunk1 == 1) && (nchunk0 > nth * 4)) { // dr0 should be divisible by chunk_size0 dr0 = (ne0 / (nth * 4) / chunk_size0) * chunk_size0; nchunk0 = (nr0 + dr0 - 1) / dr0; } +#endif int current_chunk = ith;