@@ -103,11 +103,7 @@ static void transpose_f32kxn_f16nxk(size_t n, size_t k, float * dst, const uint1
103
103
class tensor_traits : public ggml ::cpu::tensor_traits {
104
104
bool work_size (int /* n_threads */ , const struct ggml_tensor * op, size_t & size) override {
105
105
ggml_kleidiai_kernels *kernels = ggml_kleidiai_select_kernels (ctx.features , op);
106
- if (!kernels) {
107
- // No suitable KleidiAI kernel available, fallback to standard CPU implementation
108
- GGML_LOG_DEBUG (" %s: No suitable KleidiAI kernel available for operation, falling back to standard CPU implementation\n " , __func__);
109
- return false ; // Let the system fallback to standard CPU implementation
110
- }
106
+ GGML_ASSERT (kernels);
111
107
kernel_info * kernel = op->src [1 ]->ne [1 ] == 1 ? &kernels->gemv : &kernels->gemm ;
112
108
113
109
size_t k = op->src [0 ]->ne [0 ];
@@ -152,11 +148,7 @@ class tensor_traits : public ggml::cpu::tensor_traits {
152
148
GGML_TENSOR_BINARY_OP_LOCALS
153
149
154
150
ggml_kleidiai_kernels *kernels = ggml_kleidiai_select_kernels (ctx.features , dst);
155
- if (!kernels) {
156
- // No suitable KleidiAI kernel available, fallback to standard CPU implementation
157
- GGML_LOG_DEBUG (" %s: No suitable KleidiAI kernel available for KV cache operation, falling back to standard CPU implementation\n " , __func__);
158
- return false ; // Let the system fallback to standard CPU implementation
159
- }
151
+ GGML_ASSERT (kernels);
160
152
161
153
kernel_info * kernel = src1->ne [1 ] == 1 ? &kernels->gemv : &kernels->gemm ;
162
154
GGML_ASSERT (kernel);
@@ -284,11 +276,7 @@ class tensor_traits : public ggml::cpu::tensor_traits {
284
276
GGML_TENSOR_BINARY_OP_LOCALS
285
277
286
278
ggml_kleidiai_kernels *kernels = ggml_kleidiai_select_kernels (ctx.features , dst);
287
- if (!kernels) {
288
- // No suitable KleidiAI kernel available, fallback to standard CPU implementation
289
- GGML_LOG_DEBUG (" %s: No suitable KleidiAI kernel available for Q4_0 operation, falling back to standard CPU implementation\n " , __func__);
290
- return false ; // Let the system fallback to standard CPU implementation
291
- }
279
+ GGML_ASSERT (kernels);
292
280
293
281
kernel_info * kernel = src1->ne [1 ] == 1 ? &kernels->gemv : &kernels->gemm ;
294
282
lhs_packing_info * lhs_info = &kernels->lhs_info ;
@@ -356,10 +344,7 @@ class tensor_traits : public ggml::cpu::tensor_traits {
356
344
357
345
public:
358
346
int repack (struct ggml_tensor * tensor, const void * data, size_t data_size) {
359
- if (!ctx.kernels ) {
360
- GGML_LOG_DEBUG (" %s: No suitable KleidiAI kernel available, falling back to standard CPU implementation\n " , __func__);
361
- return -1 ; // No suitable kernel available
362
- }
347
+ GGML_ASSERT (ctx.kernels );
363
348
const size_t n = tensor->ne [1 ];
364
349
const size_t k = tensor->ne [0 ];
365
350
size_t nr = ctx.kernels ->gemm .get_nr ();
0 commit comments