Repository navigation
Releases: ai-computing/rm-accel
Release list
rm-accel 0.5.0
Found in the ai-rm end-to-end run (ai-rm#32): two training processes started on a node outside Kubernetes held both
of its RNGD cards, the device plugin and the AcceleratorProfiles reported them free, and a decode pod placed there
failed with EBUSY (#9).
Added
- Card occupancy (
rm_abstract.airm.occupancy): per card, the holders fromfuriosa-smi ps --format json, the
Rebellions driver'sctx_info/rbln-stat --jsoncontexts and/proc/<pid>/fd, each classified by
/proc/<pid>/cgroupask8s(pod) orhost. Published inspec.extraasinUseandholders(pid, executable
basename, managed). A card held by a host process also getshealth: busyandhealthy: "false", which
rm-controller already skips.AIRM_OCCUPANCY=0turns it off; without the host PID namespace no occupancy is
published (with a warning). - Node label
airm.ai-computing.io/host-held=<n>;/metricsseriesrm_accel_accelerators_in_useand
rm_accel_accelerators_host_held. - Chart values
hostPID(defaulttrue) andoccupancy(defaulttrue).
Verified on: furiosa-smi 2026.4.0, rbln-stat 3.0.0, Python 3.10/3.11, cgroup v2 + containerd. Read-only dry-run on two NPU nodes: host-held RNGD cards reported busy, idle cards free; rm-controller excludes the busy cards (#10).
Install: chart deploy/helm/rm-abstract-node 0.6.0 (hostPID: true is needed to see host processes), or pip install https://github.com/ai-computing/rm-accel/archive/refs/tags/v0.5.0.tar.gz.
Limits: GPUs not covered; a busy ATOM and k8s-held cards are verified by fixtures only.
v0.4.1
Fixed
- Rebellions: take the device index from
rbln<N>, notnpu.rbln-statrestartsnpuat 0 in each device group, so a 4-card host was reported as 2 ATOM (ids collided).
v0.4.0 — ai-rm L1 accelerator abstraction
Repositioned as the L1 accelerator abstraction of ai-rm.
Added
- ai-rm protocol v0.1 adapter
rm_abstract.airm:AcceleratorProviderrm-abstract
(entry pointairm.accelerator_providers), discovery through read-only vendor tools with
HardwareDetectoras fallback, datasheetpeak_tflopsfor RNGD and ATOM. - Node daemon
python -m rm_abstract.airm.daemon:AcceleratorProfileper device, node labels
airm.ai-computing.io/<vendor>.<model>,airm_acceleratorson/metrics. - Helm chart
deploy/helm/rm-abstract-node(DaemonSet, RBAC). ai-rm.yamlcomponent manifest; dependency on rm-core v0.1.1.tools/check_sensitive.pyand a CI job that scans every push.- README in English with a Korean translation (
README.ko.md).
Changed
- Package metadata: description, keywords, authors and URLs now point to
ai-computing. - Ruff configuration moved to
[tool.ruff.lint]; code formatted with ruff and black. - CI runs the full
rm_core.conformanceand a daemon dry-run; mypy is reported but non-blocking
while existing type errors are fixed. test_all_examples.sh→scripts/run_examples.sh(no hard-coded path);
test_multi_engine.py→scripts/manual/multi_engine_check.py.
Moved
CLEANUP_SUMMARY.md,docs/FINAL_TEST_REPORT.md,docs/TEST_RESULTS.mdand
docs/PRESENTATION.md→docs/archive/(point-in-time, not maintained).