feat: Separate XGMI and NVLINK to an independent tab#32
Merged
Conversation
Signed-off-by: chang-ning <spiderpower02@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR refactors the TUI to present RDMA, XGMI, and NVLink as separate runtime-detected tabs (Tab / Shift-Tab), and removes the nvlink/xgmi Cargo features so a single binary can run across hosts regardless of detected hardware.
Changes:
- Introduces
DeviceClassand filters displayed rows by the active tab, with “seen tabs” detected/sticky per session. - Adds a tab bar UI and a fixed-column GPU table for XGMI/NVLink, while keeping RDMA’s configurable columns.
- Removes feature-gating for NVLink/XGMI modules and dependencies; updates comments/docs accordingly.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/tui/app.rs | Adds DeviceClass, tab state, filtering, and tab-cycling logic. |
| src/tui/events.rs | Adds Tab / BackTab key handling in normal mode. |
| src/tui/ui.rs | Adds tab bar rendering, GPU table rendering, header label tweaks, and help sizing changes. |
| src/tui/theme.rs | Removes the unused group_title theme color. |
| src/main.rs | Always compiles nvlink module (no feature gating). |
| src/nvlink.rs | Updates module docs to reflect runtime loading behavior. |
| src/xgmi.rs | Updates module/docs/tests text to remove feature-flag references. |
| Cargo.toml | Drops nvlink/xgmi features and makes deps non-optional. |
| examples/pytorch/README.md | Updates installation instructions to remove feature flags. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: chang-ning <spiderpower02@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Add RDMA/XGMI/NVLink tabs (
Tab/Shift-Tabto switch; a tab only appears when its hardware is detected) and drop thenvlink/xgmicargo features — both backends load at runtime, so one binary serves every host.Test Plan
8× MI325X: default-build test suite + hardware smoke test; TUI capture shows the
RDMA │ XGMIbar with noamdgpurows on the RDMA tab; Tab switching eyeballed (cycling/detection covered by unit tests).Test Result
Checklist
cargo fmt --checkpassescargo clippy -- -D warningspassescargo testpasses