Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ repository = "https://github.com/uccl-project/rdmatop"
keywords = ["rdma", "efa", "networking", "tui", "infiniband"]
categories = ["network-programming", "command-line-utilities"]

[features]
nvlink = ["dep:nvml-wrapper", "dep:nvml-wrapper-sys"]
xgmi = ["dep:libloading"]

[profile.release]
strip = true

Expand All @@ -27,6 +23,6 @@ alphanumeric-sort = "1.5"
libc = "0.2"
ratatui = "0.30"
crossterm = "0.29"
nvml-wrapper = { version = "0.12.1", optional = true }
nvml-wrapper-sys = { version = "0.9.1", optional = true }
libloading = { version = "0.8", optional = true }
nvml-wrapper = "0.12.1"
nvml-wrapper-sys = "0.9.1"
libloading = "0.8"
6 changes: 3 additions & 3 deletions examples/pytorch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ detail pane shows traffic on every link.
# NVIDIA (CUDA)
pip install torch
```
- `rdmatop` built with the matching feature to see the GPU rows:
- `rdmatop` to see the GPU rows (XGMI/NVLink hardware is detected at
runtime — no build flags needed):
```bash
cargo install --path . --features xgmi # AMD
cargo install --path . --features nvlink # NVIDIA
cargo install --path .
```

## Usage
Expand Down
6 changes: 1 addition & 5 deletions src/main.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
mod net;
mod netlink;
mod nvlink;
mod rdma;
mod stat;
mod trace;
mod tui;

#[cfg(feature = "nvlink")]
mod nvlink;

#[cfg(feature = "xgmi")]
mod xgmi;

use std::io;
Expand Down
9 changes: 4 additions & 5 deletions src/nvlink.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
//! NVLink data layer built on top of the NVIDIA Management Library (NVML).
//!
//! This module is only compiled when the `nvlink` cargo feature is enabled.
//! It exposes a small snapshot type that the TUI can render without having to
//! link directly against NVML. Per-link TX/RX throughput is read via the raw
//! `nvmlDeviceGetFieldValues` entry point because `nvml-wrapper` does not
//! currently expose a safe helper for those field IDs.
//! NVML is loaded at runtime by `nvml-wrapper`; on hosts without the NVIDIA
//! driver `read_all_nvlink_stats` returns an empty vector. Per-link TX/RX
//! throughput is read via the raw `nvmlDeviceGetFieldValues` entry point
//! because `nvml-wrapper` does not expose a safe helper for those field IDs.

use std::io;

Expand Down
Loading