Skip to content

[Vulkan] Reduce descriptor set churn - batch/reuse descriptor sets #4

@goniz

Description

@goniz

Problem

dispatch_with_spec() allocates/reuses a descriptor set, writes descriptors with vkUpdateDescriptorSets, binds it, dispatches, then defers reclamation by epoch. This high-frequency driver work hurts small kernels, fused graphs, and attention-heavy workloads.

Reference

ggml-vulkan is much more aggressive about bulk descriptor-set handling and queue-side reuse patterns.

Tasks

  • Preallocate descriptor sets per layout in large batches
  • Use reset/recycle semantics rather than fine-grained free behavior
  • Consider descriptor buffer / push-descriptor paths on capable drivers

Related

See Tier 1 item 4 in performance analysis report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions