deepseekv4flashgguf_EPQ / sdq-dsv4 /optional-sched-debug.patch
HelloSun's picture
SDQ expert pager 適配 deepseek4:IQ3_S/MXFP4 kernel、ggml_swiglu_clamp、sharded GGUF、驗證與 RAM 實驗結果
78fa284 verified
Raw History Blame Contribute Delete
1.49 kB
diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp
index 5bdade6..41d898e 100644
--- a/ggml/src/ggml-backend.cpp
+++ b/ggml/src/ggml-backend.cpp
@@ -1431,6 +1431,19 @@ void ggml_backend_sched_split_graph(ggml_backend_sched_t sched, struct ggml_cgra
for (int b = 0; b < sched->n_backends && *cur_backend_id == -1; b++) {
ggml_backend_sched_set_if_supported(sched, node, b, cur_backend_id);
}
+ if (*cur_backend_id == -1 && getenv("SDQ_SCHED_DEBUG")) {
+ fprintf(stderr, "[sched-dbg] unassigned node: op=%s ne=[%lld,%lld,%lld,%lld] type=%s name='%s' n_backends=%d\n",
+ ggml_op_name(node->op),
+ (long long) node->ne[0], (long long) node->ne[1], (long long) node->ne[2], (long long) node->ne[3],
+ ggml_type_name(node->type), ggml_get_name(node), sched->n_backends);
+ for (int j = 0; j < GGML_MAX_SRC && node->src[j]; j++) {
+ fprintf(stderr, "[sched-dbg] src[%d] op=%s type=%s name='%s' buf=%p buft=%s\n",
+ j, ggml_op_name(node->src[j]->op), ggml_type_name(node->src[j]->type),
+ ggml_get_name(node->src[j]), (void *) node->src[j]->buffer,
+ node->src[j]->buffer && node->src[j]->buffer->buft
+ ? ggml_backend_buft_name(node->src[j]->buffer->buft) : "(none)");
+ }
+ }
GGML_ASSERT(*cur_backend_id != -1);
}