Skip to content

CUDA graphs: speculative decoding repeatedly resets warmup state #45

Description

@am17an

Upstream: ggml-org#28652

Draft-model speculative decoding repeatedly resets CUDA graph warmup instead of converging to replay.

Environment: Linux aarch64, NVIDIA GB10 / CUDA 13, current upstream df03399b885831b2a1603b3abb0d8c156808e363; Qwen2.5 1.5B Q4_K_M target and 0.5B Q4_K_M draft.

llama-server -m qwen2.5-1.5b-instruct-q4_k_m.gguf -ngl 99 \
  -md qwen2.5-0.5b-instruct-q4_k_m.gguf -ngld 99 \
  --spec-type draft-simple -v

One greedy 256-token /v1/completions request produced:

  • no speculation: warmup complete 2, reset 1
  • draft-simple: warmup complete 26, reset 25

The alternating speculative graph variants appear to share a cache identity while their graph hashes differ, so each variant invalidates the other's warmup/update state. No single introducing commit was established.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions