Skip to content

feat: Separate XGMI and NVLINK to an independent tab#32

Merged
crazyguitar merged 3 commits into
mainfrom
feat/ui-tab
Jul 6, 2026
Merged

feat: Separate XGMI and NVLINK to an independent tab#32
crazyguitar merged 3 commits into
mainfrom
feat/ui-tab

Conversation

@crazyguitar

Copy link
Copy Markdown
Member

Purpose

Add RDMA/XGMI/NVLink tabs (Tab/Shift-Tab to switch; a tab only appears when its hardware is detected) and drop the nvlink/xgmi cargo 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 │ XGMI bar with no amdgpu rows on the RDMA tab; Tab switching eyeballed (cycling/detection covered by unit tests).

Test Result

Screenshot 2026-07-05 at 6 01 55 PM

Checklist

  • cargo fmt --check passes
  • cargo clippy -- -D warnings passes
  • cargo test passes
  • Tested on RDMA-capable hardware (or explained why not in the Test Plan)
  • Docs/README updated if behavior or flags changed

@crazyguitar crazyguitar changed the title Feat/UI tab feat: Separate XGMI and NVLINK to an independent tab Jul 6, 2026
@crazyguitar
crazyguitar requested a review from Copilot July 6, 2026 01:03

Copilot AI 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.

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 DeviceClass and 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.

Comment thread src/tui/events.rs
Comment thread src/tui/app.rs
Comment thread src/tui/ui.rs Outdated
Comment thread src/tui/ui.rs
Signed-off-by: chang-ning <spiderpower02@gmail.com>
@crazyguitar
crazyguitar merged commit ccf95ad into main Jul 6, 2026
4 checks passed
@crazyguitar
crazyguitar deleted the feat/ui-tab branch July 6, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants