diff --git a/README.ko.md b/README.ko.md index f3a3f92..c425156 100644 --- a/README.ko.md +++ b/README.ko.md @@ -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 패널이 나옵니다. diff --git a/README.md b/README.md index 832f639..3613713 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/src/airm.rs b/src/airm.rs index 8996ad9..a72c168 100644 --- a/src/airm.rs +++ b/src/airm.rs @@ -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 `/`. /// - 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 { diff --git a/src/app/train.rs b/src/app/train.rs index 4103f1f..95481b2 100644 --- a/src/app/train.rs +++ b/src/app/train.rs @@ -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. diff --git a/src/config.rs b/src/config.rs index 67b4489..19d288d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -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"),