| 314 | }; |
| 315 | |
| 316 | static ggml_backend_graph_plan_t ggml_backend_cpu_graph_plan_create(ggml_backend_t backend, struct ggml_cgraph * cgraph) { |
| 317 | struct ggml_backend_cpu_context * cpu_ctx = (struct ggml_backend_cpu_context *)backend->context; |
| 318 | |
| 319 | struct ggml_backend_plan_cpu * cpu_plan = malloc(sizeof(struct ggml_backend_plan_cpu)); |
| 320 | |
| 321 | cpu_plan->cplan = ggml_graph_plan(cgraph, cpu_ctx->n_threads); |
| 322 | cpu_plan->cgraph = *cgraph; |
| 323 | |
| 324 | if (cpu_plan->cplan.work_size > 0) { |
| 325 | cpu_plan->cplan.work_data = malloc(cpu_plan->cplan.work_size); |
| 326 | } |
| 327 | |
| 328 | return cpu_plan; |
| 329 | } |
| 330 | |
| 331 | static void ggml_backend_cpu_graph_plan_free(ggml_backend_t backend, ggml_backend_graph_plan_t plan) { |
| 332 | struct ggml_backend_plan_cpu * cpu_plan = (struct ggml_backend_plan_cpu *)plan; |
nothing calls this directly
no test coverage detected