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
2 changes: 1 addition & 1 deletion README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ dry-run은 적용 권한을 요구하지 않습니다. 이 모드는 조작 실

lmd-top은 [ai-rm](https://github.com/ai-computing/ai-rm)의 **`l5-ops` 계층, kind `tool`** 구성요소이자 관측 콘솔이며,
메타데이터는 [`ai-rm.yaml`](ai-rm.yaml)에 있습니다. 예전 rm_monitor의 역할은 나뉘었습니다. 모니터링 스택(Prometheus,
exporter, Grafana 대시보드)은 [llm-d-setup](https://github.com/ai-computing/llm-d-setup) `monitoring/`(L4)으로, 부하 도구는
exporter, Grafana 대시보드)은 [hetero-llm-d](https://github.com/ai-computing/hetero-llm-d) `monitoring/`(L4)으로, 부하 도구는
rm-bench(L5)로 옮겼습니다. lmd-top은 그 스택이 모은 지표를 읽습니다. rm-core를 import하지 않고 rm-core 형식을 읽습니다.

**ai-rm 패널 (protocol v0.1, 읽기 전용).** 클러스터에 ai-rm 소스가 하나라도 있으면 Infra ▸ Devices 아래에 ai-rm 패널이 나옵니다.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ project, and `:Routing policy` opens the configuration and rollout preview form.

lmd-top is the **`l5-ops` layer, kind `tool`** of [ai-rm](https://github.com/ai-computing/ai-rm) and its observation
console; metadata is in [`ai-rm.yaml`](ai-rm.yaml). The old rm_monitor role was split: the monitoring stack
(Prometheus, exporters, Grafana dashboards) moved to [llm-d-setup](https://github.com/ai-computing/llm-d-setup)
(Prometheus, exporters, Grafana dashboards) moved to [hetero-llm-d](https://github.com/ai-computing/hetero-llm-d)
`monitoring/` (L4) and load generation to rm-bench (L5). lmd-top reads what that stack collects; it does not import
rm-core, it reads rm-core formats.

Expand Down
4 changes: 2 additions & 2 deletions src/airm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,13 +192,13 @@ pub struct Decision {
}

/// Parse ConfigMap `airm-placement`. Two layouts are read:
/// - llm-d-setup's documented one: key `decisions.json` holding
/// - hetero-llm-d's documented one: key `decisions.json` holding
/// `{protocol, generation, placement, decisions: [{pool, workload: {kind, ...}, acceleratorIds,
/// kvTransport, reason}]}`; each decision is shown as `<pool>/<kind>`.
/// - one key per workload whose value is a `PlacementDecision`
/// `{accelerator_ids, kv_transport, reason}` (camelCase accepted too).
///
/// An empty ConfigMap or an empty `decisions` list (the v0.1 llm-d-setup default) yields no
/// An empty ConfigMap or an empty `decisions` list (the v0.1 hetero-llm-d default) yields no
/// decisions. A value that does not parse is kept with the parse failure as its reason, so a bad
/// write stays visible.
pub fn parse_placement(cm: &serde_json::Value) -> Vec<Decision> {
Expand Down
2 changes: 1 addition & 1 deletion src/app/train.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! LoRA training Job — `--plan train`.
//!
//! The trainer is npu-lora (upstream: `llm-d-setup/npu-lora`), vendored into
//! The trainer is npu-lora (upstream: ai-computing/npu-train, package `npu-lora`), vendored into
//! `assets/npu-lora/` by its `scripts/vendor-into-lmd-top.sh` and embedded here, so this
//! binary alone can produce a runnable Job: the official furiosa-llm image already carries
//! furiosa-torch, torch and transformers, and the package rides along as a ConfigMap.
Expand Down
2 changes: 1 addition & 1 deletion src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ impl Default for Config {
let ns = s("LMD_NS", "namespace", "llm-serving");
Config {
prom: s("LMD_PROM", "prometheus", "localhost:9090"),
// llm-d-setup writes airm-placement into the llm-d namespace, so follow LMD_NS by default
// hetero-llm-d writes airm-placement into the llm-d namespace, so follow LMD_NS by default
airm_ns: s("LMD_AIRM_NS", "airm_namespace", &ns),
ns,
grafana: s("LMD_GRAFANA", "grafana", "http://localhost:3000"),
Expand Down
Loading