1. 15 Jul, 2025 3 commits
  2. 10 Jul, 2025 1 commit
  3. 09 Jul, 2025 1 commit
  4. 08 Jul, 2025 1 commit
  5. 07 Jul, 2025 2 commits
  6. 03 Jul, 2025 1 commit
  7. 01 Jul, 2025 1 commit
  8. 24 Jun, 2025 3 commits
  9. 21 Jun, 2025 1 commit
  10. 17 Jun, 2025 1 commit
  11. 13 Jun, 2025 2 commits
  12. 11 Jun, 2025 2 commits
  13. 09 Jun, 2025 1 commit
  14. 04 Jun, 2025 1 commit
  15. 03 Jun, 2025 1 commit
  16. 29 May, 2025 2 commits
  17. 23 May, 2025 2 commits
  18. 22 May, 2025 2 commits
    • Graham King's avatar
      feat(dynamo-run): Allow setting context-length (#1157) · 6d5da821
      Graham King authored
      Llama 4 has a very large context length (aka n_ctx, model_max_length, max_model_len), and vllm won't start unless it can allocate enough KV cache for the entire context.
      
      Allow passing `--context-length <N>` to `dynamo-run` to limit it so long-context models will fit.
      
      Future todo:
      - Restrict every request's `max_tokens` to below the context length. Our pre-processor should do this by setting stop_conditions.max_tokens. mistralrs engine wrapper must do it itself because it does not use the pre-processor.
      - mistralrs and llamacpp currently have a hard-coded max context length if one is not provided on the command line. Change those to be the model's built-in max, read from the GGUF or tokenizer_config.json.
      6d5da821
    • jmswen's avatar
  19. 21 May, 2025 2 commits
  20. 20 May, 2025 1 commit
    • Faradawn Yang's avatar
      chore: Remove unused RouterType and ModelMetaData (#1138) · eb821bee
      Faradawn Yang authored
      Remove RouterType and ModelMetaData in `lib/runtime/src/protocols.rs`, which are unused (no outside reference). It is because that the routing has been moved to its own module, `pipeline/network/egress/push_router.rs`. Therefore, the legacy definition of RouterType in `protocols.rs` is no longer used.
      eb821bee
  21. 19 May, 2025 1 commit
    • Graham King's avatar
      feat: Support multiple models on single ingress node (#1127) · aeb79e62
      Graham King authored
      We can now do this:
      
      - Node 1:
      
      ```
      dynamo-run in=http out=dyn
      ```
      
      - Node 2 and 3, two instances of component 'backend' in the nemotron_ultra pipeline:
      
      ```
      dynamo-run in=dyn://nemotron_ultra.backend.generate out=vllm /data/models/NemotronUltra
      ```
      
      - Node 4 and 5, two instances of the 'backend' component in nemotron_super pipeline:
      
      ```
      dynamo-run in=dyn://nemotron_super.backend.generate out=vllm /data/models/NemotronSuper
      ```
      
      The ingress node will discover all four instances and route correctly. We have been planning for this for a long time now.
      
      As part of this auto-discovery is now always `out=dyn`, with no extra URL parts. Previously it could only route to a single pipeline.
      
      Also:
      - Refactor endpoint / instance naming now that I understand them
      - Fix removing models when their instance stops.
      aeb79e62
  22. 16 May, 2025 1 commit
  23. 15 May, 2025 4 commits
    • Graham King's avatar
      chore: Prevent duplicate components with different models. (#1103) · 641234cd
      Graham King authored
      Each namespace is for a single pipeline, so a component must be model-unique. The means we can have several components with the same name running the same model (data parallel), their traffic will be routed according to `--router-mode`, but we cannot have several components with the same name running different models.
      
      Add an `ensure_unique` check to prevent that happening.
      641234cd
    • Ryan McCormick's avatar
    • Graham King's avatar
      fix: Fix default RouterMode value (#1092) · 889ab67e
      Graham King authored
      The Python bindings use the default value for RouterMode. Previously that was Random (good), but now it became None (bad).
      
      Remove the option and clean up the duplicate RouterMode. I was trying to avoid putting the `KV` enum in dynamo-runtime. Turns out adding those two characters gives us a healthy simplification, and restores the old default router value.
      
      Also clean up two noisy log messages when waiting for KV routing metrics to start in worker.
      889ab67e
    • Abrar Shivani's avatar
      feat: Use existing Tokio runtime in components (#941) · 2a5eb7e7
      Abrar Shivani authored
      The runtime library already provides a from_current method that creates and returns a Runtime object initialized with the current Tokio runtime handle. Since components do not use the runtime library directly but access it through the worker, the worker needs to be updated to create itself using a Runtime instance derived from the current Tokio runtime.
      This PR updates the http component and the worker to use the existing Tokio runtime instead of creating a new one. Other components can be similarly updated to run using the existing runtime.
      2a5eb7e7
  24. 14 May, 2025 2 commits
    • Graham King's avatar
      feat(dynamo-run): KV-aware routing (#1064) · 29813508
      Graham King authored
      Router:
      ```
      dynamo-run in=http out=dyn://dynamo.endpoint.generate --router-mode kv
      ```
      
      Worker (* N):
      ```
      dynamo-run in=dyn://dynamo.endpoint.generate out=vllm /data/llms/Qwen/Qwen3-4B
      ```
      
      You need patched vllm and the C bindings `.so`. Full docs in the updated guide: `docs/guides/dynamo_run.md`.
      
      This gives us a pure-Rust ingress node: OpenAI compliant HTTP server + Pre-processor + KV-aware router.
      29813508
    • wxsm's avatar
      fix: add maxage to nats stream (#1053) · 087d398d
      wxsm authored
      Add max_age to nats stream when create, 10 min should be very enough for prefill workers to consume. this prevent system crash while nats jetstream hits disk limit by endless growing messages.
      087d398d
  25. 09 May, 2025 1 commit