ggml-vulkan: don't assert compute_ctx empty before perf timestamp
Pinned async host uploads can record into compute_ctx before graph compute, so the perf logger's opening timestamp must append after them instead of asserting the context is expired. Without this, profiling (GGML_VK_PERF_LOGGER) crashes whenever host-register pinning is on. Assisted-by: Claude
This commit is contained in:
@@ -16685,7 +16685,7 @@ static ggml_status ggml_backend_vk_graph_compute(ggml_backend_t backend, ggml_cg
|
||||
std::fill(ctx->query_nodes.begin(), ctx->query_nodes.end(), nullptr);
|
||||
std::fill(ctx->query_node_idx.begin(), ctx->query_node_idx.end(), 0);
|
||||
|
||||
GGML_ASSERT(ctx->compute_ctx.expired());
|
||||
// compute_ctx may hold async host uploads recorded before the graph; append the timestamp after them
|
||||
compute_ctx = ggml_vk_get_compute_ctx(ctx);
|
||||
ctx->query_idx = 0;
|
||||
compute_ctx->s->buffer->buf.writeTimestamp(vk::PipelineStageFlagBits::eAllCommands, ctx->query_pool, ctx->query_idx++);
|
||||
|
||||
Reference in New Issue
Block a user