Skip to content

chore: Make llama.cpp a default engine, speedup CI#1177

Merged
grahamking merged 9 commits intomainfrom
gk-llamacpp-default
May 29, 2025
Merged

chore: Make llama.cpp a default engine, speedup CI#1177
grahamking merged 9 commits intomainfrom
gk-llamacpp-default

Conversation

@grahamking
Copy link
Copy Markdown
Contributor

@grahamking grahamking commented May 22, 2025

It does not need any external libraries.

Summary by CodeRabbit

  • New Features
    • The "llamacpp" feature is now enabled by default when building the package, in addition to "mistralrs".
  • Documentation
    • Updated build instructions to clarify that "llama.cpp" is built for CPU by default and to recommend GPU feature flags for optimized builds.
  • Chores
    • Streamlined and simplified the Rust build process in Dockerfiles, consolidating build steps and artifact copying.
    • Updated Rust installation to use the default profile instead of the minimal profile.
    • Removed license header comments from configuration files.

@grahamking grahamking requested a review from a team May 22, 2025 20:57
@github-actions github-actions Bot added the chore label May 22, 2025
@grahamking grahamking force-pushed the gk-llamacpp-default branch from 8514ef5 to 59bcf14 Compare May 22, 2025 21:33
@grahamking grahamking force-pushed the gk-llamacpp-default branch from 364c121 to 2ab8eb2 Compare May 23, 2025 14:19
@pull-request-size pull-request-size Bot added size/M and removed size/S labels May 23, 2025
Comment thread container/Dockerfile.tensorrt_llm Outdated
It does not need any external libraries.
Also fix two docker lints (undefined variables).
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 29, 2025

## Walkthrough

The changes update several Dockerfiles to streamline and unify Rust build steps, shifting from selective crate builds to workspace-wide builds and focusing final build steps on C bindings. The Rust toolchain installation profile is set to "default" instead of "minimal." Documentation and configuration are updated to reflect new default features and clarify build instructions.

## Changes

| Files/Paths                                                                 | Change Summary                                                                                                                      |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| container/Dockerfile.none, container/Dockerfile.tensorrt_llm, <br>container/Dockerfile.vllm | Rust toolchain installation profile changed from "minimal" to "default" in rustup-init.                                             |
| container/Dockerfile.sglang, container/Dockerfile.tensorrt_llm, <br>container/Dockerfile.vllm | Rust build steps simplified: replaced multi-crate selective builds with workspace-wide builds; C bindings built in dedicated step.  |
| container/Dockerfile.vllm                                                   | Environment variables `CPATH` and `PKG_CONFIG_PATH` set explicitly; artifact copying consolidated; build process unified.           |
| docs/guides/dynamo_run.md                                                   | Documentation updated: clarified default llama.cpp build behavior and recommended GPU feature flags for optimized builds.           |
| launch/dynamo-run/Cargo.toml                                                | License header removed; default features expanded to include "llamacpp" alongside "mistralrs".                                      |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant Dockerfile
    participant Rustup
    participant Cargo
    participant Workspace
    participant CBinder

    Dockerfile->>Rustup: Install Rust (profile: default)
    Dockerfile->>Cargo: Build workspace (--workspace, features, release)
    Cargo->>Workspace: Compile all crates
    Dockerfile->>CBinder: Build C bindings crate (release)
    CBinder->>Workspace: Generate C include files and shared libraries

Suggested labels

size/XL

Suggested reviewers

  • rmccorm4
  • tanmayv25

Poem

Hopping through Docker and Rusty terrain,
This rabbit streamlines builds again and again.
From minimal to default, features now bloom,
With C bindings assembled in a tidy room.
Docs are more clear, defaults set just right—
Shipping new builds, swift as a byte!
🐇✨


<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- tips_start -->

---



<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=ai-dynamo/dynamo&utm_content=1177):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🔭 Outside diff range comments (1)
docs/guides/dynamo_run.md (1)

26-28: ⚠️ Potential issue

Update default engine documentation
The introduction still states that mistralrs is the default engine, but the PR makes llamacpp a default feature. Please revise to reflect that llama.cpp is now included (or re-order to show llamacpp as default).

🧹 Nitpick comments (3)
docs/guides/dynamo_run.md (2)

308-308: Add missing comma for clarity
Consider writing “built for CPU by default, for an optimized build…” to improve readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~308-~308: Possible missing comma found.
Context: ...lt for CPU by default. For an optimized build pass the appropriate feature flag (high...

(AI_HYDRA_LEO_MISSING_COMMA)


311-311: Specify language for code block
Add a language tag (e.g., ```bash) after the opening backticks to enable syntax highlighting.

container/Dockerfile.sglang (1)

323-327: Consider slimming down CI artifact copies.
Copying the entire /workspace directory from wheel_builder brings over source code and all build artifacts, potentially bloating the CI image. As an optional refactor, you could copy only the necessary C bindings source (lib/bindings/c) and the compiled artifacts (e.g., target/release/libdynamo_llm_capi.so) to reduce image size.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 93ca9df and b16b24b.

📒 Files selected for processing (6)
  • container/Dockerfile.none (1 hunks)
  • container/Dockerfile.sglang (2 hunks)
  • container/Dockerfile.tensorrt_llm (3 hunks)
  • container/Dockerfile.vllm (4 hunks)
  • docs/guides/dynamo_run.md (1 hunks)
  • launch/dynamo-run/Cargo.toml (1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/guides/dynamo_run.md

[uncategorized] ~308-~308: Possible missing comma found.
Context: ...lt for CPU by default. For an optimized build pass the appropriate feature flag (high...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)
docs/guides/dynamo_run.md

310-310: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: pre-merge-rust (lib/runtime/examples)
  • GitHub Check: Build and Test - vllm
  • GitHub Check: pre-merge-rust (lib/bindings/python)
  • GitHub Check: pre-merge-rust (.)
🔇 Additional comments (12)
launch/dynamo-run/Cargo.toml (2)

1-2: Inconsistent AI summary: License header still present
The AI-generated summary indicates the license header was removed, but lines 1–2 show it remains in this file.

Likely an incorrect or invalid review comment.


17-17: Enable llamacpp as a default feature
Adding "llamacpp" alongside "mistralrs" in the default array correctly makes the llama.cpp engine build by default.

container/Dockerfile.none (1)

35-35: Switch Rust installation profile to default
Changing --profile minimal to --profile default ensures the full toolchain is installed, aligning with other container builds.

container/Dockerfile.tensorrt_llm (4)

207-207: Switch Rust installation profile to default
Using --profile default here matches the change in other Dockerfiles and ensures a complete Rust toolchain.


276-281: Simplify workspace build
Replacing selective builds with cargo build --workspace --features dynamo-llm/block-manager reduces complexity and guarantees consistency across all crates.


299-299: Copy full workspace from wheel_builder
Consolidating artifact copying by bringing in the entire /workspace directory simplifies maintenance and prevents missing files.


303-307: Build C bindings in dev stage
Explicitly running cargo build in /workspace/lib/bindings/c ensures the C API and headers are compiled and available for packaging.

container/Dockerfile.vllm (4)

262-262: Switch Rust installation profile to default
Aligning with other container builds by installing Rust with --profile default.


375-380: Consolidate workspace build
Using cargo build --workspace --features dynamo-llm/block-manager simplifies the build process and ensures all workspace crates are included.


401-402: Copy full workspace and NIXL artifacts
Bringing in the complete /workspace and NIXL library paths from wheel_builder reduces Docker layer complexity.


406-408: Build C API bindings in CI minimum stage
Compiling the C bindings in /workspace/lib/bindings/c ensures the shared library and headers are produced for downstream images.

container/Dockerfile.sglang (1)

297-301: Approve consolidated Rust workspace build.
Switching to a single cargo build --workspace step simplifies compilation across all crates, leverages incremental caching, and maintains reproducibility with --release and --locked.

Comment thread container/Dockerfile.sglang Outdated
Comment thread container/Dockerfile.tensorrt_llm Outdated
Comment thread container/Dockerfile.vllm Outdated
Comment thread container/Dockerfile.sglang Outdated
Comment thread container/Dockerfile.sglang Outdated
grahamking and others added 4 commits May 29, 2025 11:26
Co-authored-by: Anant Sharma <anants@nvidia.com>
Signed-off-by: Graham King <graham@gkgk.org>
Co-authored-by: Anant Sharma <anants@nvidia.com>
Signed-off-by: Graham King <graham@gkgk.org>
Co-authored-by: Anant Sharma <anants@nvidia.com>
Signed-off-by: Graham King <graham@gkgk.org>
Co-authored-by: Anant Sharma <anants@nvidia.com>
Signed-off-by: Graham King <graham@gkgk.org>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
container/Dockerfile.tensorrt_llm (1)

303-304: Implement C bindings build as previously suggested
This exactly matches the earlier recommendation to run cd lib/bindings/c && cargo build --release --locked in the dev image to generate C include files and the shared library.

🧹 Nitpick comments (2)
container/Dockerfile.tensorrt_llm (2)

207-207: Consider image size implications of switching Rust profile
You’ve changed the rustup-init profile from minimal to default, which pulls in extra components (docs, source, rustfmt, etc.). While this unifies the Dockerfiles, it may significantly increase image size. Please verify that this change doesn’t bloat the layer beyond acceptable limits or evaluate if you can selectively install only the necessary components.


299-299: Refine workspace copy to limit to necessary artifacts
Copying the entire /workspace directory from wheel_builder may include source files and intermediate artifacts you don’t need at runtime. Consider restricting this to only the built artifacts (e.g., /workspace/dist, /workspace/target) to reduce image size and surface area.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 95bc0a8 and 039d1fe.

📒 Files selected for processing (3)
  • container/Dockerfile.sglang (2 hunks)
  • container/Dockerfile.tensorrt_llm (3 hunks)
  • container/Dockerfile.vllm (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • container/Dockerfile.sglang
  • container/Dockerfile.vllm
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: Build Documentation
  • GitHub Check: Build and Test - vllm
  • GitHub Check: pre-merge-rust (lib/bindings/python)
  • GitHub Check: pre-merge-rust (lib/runtime/examples)
  • GitHub Check: pre-merge-rust (.)
🔇 Additional comments (2)
container/Dockerfile.tensorrt_llm (2)

276-280: Consolidated workspace build improves maintainability
Switching to cargo build --workspace with the dynamo-llm/block-manager feature simplifies the build steps and ensures all crates are built in one go. This aligns well with your goal of unifying Rust build logic across images.


298-298: No substantive code on this line.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants