Skip to content

docs: overhaul README for clarity, add problem statement and quick start guide - #2086

Open
fishman wants to merge 2 commits into
Project-HAMi:masterfrom
fishman:readme-cta-update
Open

docs: overhaul README for clarity, add problem statement and quick start guide#2086
fishman wants to merge 2 commits into
Project-HAMi:masterfrom
fishman:readme-cta-update

Conversation

@fishman

@fishman fishman commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Improve the CTA structure by keeping it at the top with a clear problem
statement to increase conversion rates.

Signed-off-by: Reza Jelveh fishmangit@dynamia.ai

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Improve the CTA structure by keeping it at the top with a clear problem
statement to increase conversion rates.

Does this PR introduce a user-facing change?:

It changes the first thing people see when engaging with the project on github

Summary by CodeRabbit

  • Documentation
    • Reworked the README introduction with a clearer product description, including new “The Problem” and “What HAMi Does” sections.
    • Updated “How It Works” to present an end-to-end stage flow from pod submission through isolation and workload visibility.
    • Expanded Quick Start steps with stronger readiness checks and added nvidia-smi validation to confirm reduced visible GPU memory for the requested fraction.
    • Removed outdated introductory wording and earlier examples.

@hami-robot hami-robot Bot added kind/documentation Improvements or additions to documentation dco-signoff: yes labels Jul 17, 2026
@hami-robot
hami-robot Bot requested review from lengrongfu and mesutoezdil July 17, 2026 09:39
@hami-robot

hami-robot Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: fishman
Once this PR has been reviewed and has the lgtm label, please assign dsfans2014 for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hami-robot hami-robot Bot added the size/M label Jul 17, 2026
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 684f48fc-81c3-459a-9fdb-2923555e036a

📥 Commits

Reviewing files that changed from the base of the PR and between 8f8f2f0 and 9b461c8.

📒 Files selected for processing (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

📝 Walkthrough

Walkthrough

The README updates product messaging, documents the device virtualization flow, and expands quick-start instructions with HAMi readiness checks and in-container GPU memory verification.

Changes

HAMi README updates

Layer / File(s) Summary
Product overview
README.md
The introduction describes contention, fragmentation, scheduler blindness, and HAMi capabilities including sharing, isolation, device-aware scheduling, heterogeneous clusters, and application compatibility.
Device virtualization flow
README.md
The virtualization section presents pod submission, webhook processing, scheduling, device allocation, driver injection, isolation, and workload visibility, including fractional GPU memory requests.
Shared workload verification
README.md
The quick-start instructions verify HAMi components, inspect allocated GPU resources, and use nvidia-smi inside the container to verify reduced GPU memory visibility.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: lengrongfu, fouof

Poem

A rabbit hops through README rows,
Where shared GPUs clearly show.
Pods submit and memory shrinks,
nvidia-smi confirms the links.
HAMi guides the way—
Hip-hip-hooray!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the README overhaul, including the new problem statement and quick start guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai
coderabbitai Bot requested a review from FouoF July 17, 2026 09:39

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the README.md to improve the project's overview, restructure the introduction into clearer problem and solution sections, and expand the installation and verification guides with practical commands. The review feedback points out a syntax error in the markdown link for the 'Contributing' document, which uses a double opening bracket.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread README.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 21: Qualify the README’s GPU memory/compute isolation and exact-memory
examples at the introductory description and referenced sections to apply only
to the default NVIDIA configuration, or describe them as requested/configured
values. Align these statements with the backend capability caveat and avoid
presenting values such as 3000 or exactly 3GB as universal guarantees.
- Around line 130-140: Update the README verification guidance around the
scheduler and device plugin to avoid implying exactly two HAMI pods are
required. State that the scheduler must be Running and the device-plugin pod or
pods on GPU nodes must be Running, without assuming a fixed pod count.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 465ffcdb-b5ac-49d8-85e5-d2e5f1c1cb04

📥 Commits

Reviewing files that changed from the base of the PR and between 125c8c6 and 874b922.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment thread README.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 23: Correct the malformed Contributing link in the README navigation by
removing the stray extra opening bracket, while preserving its existing
CONTRIBUTING.md target and surrounding links.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c608496e-4bdb-425b-a857-a6600589b669

📥 Commits

Reviewing files that changed from the base of the PR and between 125c8c6 and ed67fda.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
@fishman
fishman force-pushed the readme-cta-update branch 2 times, most recently from b1c0825 to 8f8f2f0 Compare July 17, 2026 12:08
Reza Jelveh added 2 commits July 17, 2026 20:13
…art guide

Improve the CTA structure by keeping it at the top with a clear problem
statement to increase conversion rates.

Signed-off-by: Reza Jelveh <fishmangit@dynamia.ai>
…on't know HAMi

Signed-off-by: Reza Jelveh <fishmangit@dynamia.ai>
Comment thread README.md Outdated
![HAMi Architecture](imgs/hami-architecture.png)
HAMi (Heterogeneous AI Computing Virtualization Middleware) lets you share GPUs across Kubernetes workloads with memory and compute isolation, without changing application code. Formerly k8s-vGPU-scheduler.

[Docs](https://docs.project-hami.io) | [Quick Start](#quick-start) | [Discord](https://discord.gg/Amhy7XmbNq) | [Issues](https://github.com/Project-HAMi/HAMi/issues) | [Contributing](CONTRIBUTING.md)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

docs.project-hami.io does not resolve, this link should point to https://project-hami.io/docs/ instead

Comment thread README.md
-> Mutating webhook (inject device request)
-> Scheduler (select GPU and node)
-> Device plugin (allocate GPU memory/cores)
-> Container runtime (inject HAMi driver)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the container runtime does not inject anything here, it is the device plugin's allocate that mounts libvgpu.so into the container, so this should read device plugin (inject libvgpu.so) instead

@Shouren Shouren Jul 21, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

the container runtime does not inject anything here, it is the device plugin's allocate that mounts libvgpu.so into the container, so this should read device plugin (inject libvgpu.so) instead

@mesutoezdil AFAIK, the device plugin tells the container runtime to inject lib with ContainerAllocateResponse

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@fishman I think we should replace "HAMi driver" with "HAMi-Core lib"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the container runtime does not inject anything here, it is the device plugin's allocate that mounts libvgpu.so into the container, so this should read device plugin (inject libvgpu.so) instead

@mesutoezdil AFAIK, the device plugin tells the container runtime to inject lib with ContainerAllocateResponse

right, but the runtime only executes a generic mount the device plugin requested, so the stage label belongs to the device plugin

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

awesome, thank you for reviewing this

Comment thread README.md
limits:
nvidia.com/gpu: 1
nvidia.com/gpumem: 3000
nvidia.com/gpumem: 3000 # 3GB of 40GB

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nvidia.com/gpumem: 3000 is 3000 mib, not exactly 3gb, so this comment should say approximately 3gb or just drop the conversion

Comment thread README.md
```

The workload sees the allocated device resources inside the container, while HAMi coordinates scheduling, allocation, and isolation.
Inside the container, CUDA sees exactly 3GB - not 40GB. HAMi enforces this at the driver level.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

3000 mib is about 2.93 gib, not exactly 3gb, so this should say approximately 3gb instead of exactly 3gb

Comment thread README.md
```

The workload sees the allocated device resources inside the container, while HAMi coordinates scheduling, allocation, and isolation.
Inside the container, CUDA sees exactly 3GB - not 40GB. HAMi enforces this at the driver level.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

hami enforces this through its userspace interception library, libvgpu.so, not at the driver level

Comment thread README.md
The workload sees the allocated device resources inside the container, while HAMi coordinates scheduling, allocation, and isolation.
Inside the container, CUDA sees exactly 3GB - not 40GB. HAMi enforces this at the driver level.

**Memory isolation**: Hard limit. A pod requesting 3GB cannot exceed 3GB, even if memory is available.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

3gb here is again 3000 mib, not an exact value, so consider wording this as approximately 3gb too

Comment thread README.md
Check what the workload sees inside the container:
```bash
kubectl exec gpu-pod -- nvidia-smi
# Output shows only 3GB of GPU memory (not the full 40GB)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the container shows 3000 mib here, not exactly 3gb, so this comment should say approximately 3gb as well

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

Labels

dco-signoff: yes kind/documentation Improvements or additions to documentation size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants