콘텐츠로 이동

장치 모니터링 (rbln-smi)

rbln-smi는 RBLN NPU를 모니터링하고 관리하기 위한 커맨드 라인 인터페이스(CLI) 유틸리티입니다. 다음 기능을 지원합니다:

  • NPU 상태 모니터링 (온도, 전력, 활용도, 메모리)
  • 컨텍스트/프로세스 검사
  • 시스템 토폴로지 검사
  • RSD 그룹 관리 및 그룹 레벨 설정

rbln-smi는 RBLN 드라이버 패키지에 포함되어 있습니다. 전체 버전별 옵션 참조는 rbln-smi --help를 실행하세요.

Note

rbln-stat은 더 이상 사용되지 않으며 rbln-smi로 대체되었습니다. rbln-stat을 사용하는 기존 스크립트는 여전히 작동할 수 있지만, 새로운 사용자는 rbln-smi를 사용해야 합니다.

Quick Start

$ rbln-smi

예상 출력 (예제)

Monitor output (example)
+-------------------------------------------------------------------------------------------------+
|                                 Device Information KMD ver: N/A                                 |
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
| NPU |    Name   | Device  |   PCI BUS ID  | Temp |  Power  | Perf |  Memory(used/total) |  Util |
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
| 0   | RBLN-CA12 | rbln0   |  0000:51:00.0 |  38C |  43.9W  | P2   |   2.4GB / 15.7GiB   |  98.7 |
| 1   | RBLN-CA12 | rbln1   |  0000:d8:00.0 |  25C |   6.1W  | P14  |    0.0B / 15.7GiB   |   0.0 |
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
+-------------------------------------------------------------------------------------------------+
|                                       Context Information                                       |
+-----+---------------------+--------------+-----+----------+------+---------------------+--------+
| NPU | Process             |     PID      | CTX | Priority | PTID |            Memalloc | Status |
+-----+---------------------+--------------+-----+----------+------+---------------------+--------+
| 0   | python3             |   2928727    |  1  |   min    |  0   |              1.9GiB |  run   |
| 0   | python3             |   2930166    |  2  |   min    |  1   |            468.0MiB |  idle  |
| 0   | python3             |   2934705    |  3  |   min    |  2   |             88.0MiB |  idle  |
+-----+---------------------+--------------+-----+----------+------+---------------------+--------+

Key Concepts and Terminology

Device selection

  • 특정 NPU를 대상으로 하려면 -d, --device <ids>를 사용하세요 (쉼표로 구분된 목록 또는 범위).
  • 출력은 rbln0, rbln1과 같은 디바이스 레이블(Device 컬럼)을 참조합니다.

Output formats

  • Table (기본값): 디바이스 및 컨텍스트에 대한 사람이 읽을 수 있는 요약.
  • JSON (-j): 기계가 읽을 수 있는 출력.
  • Query (-q): 스크립트에 적합한 공백으로 구분된(CSV와 유사한) 출력.

Common columns and performance state

기본 모니터 출력에는 일반적으로 다음이 포함됩니다:

Column 의미
Name NPU 제품 이름 (예: RBLN-CA25).
Power 전력 소비량.
Perf 성능 상태 (P-state).
Temp 온도.
Util 활용도.
PID 프로세스 ID.
CTX 컨텍스트 ID.
Memalloc 할당된 메모리.

권위 있는 제품/패밀리 매핑 및 지원 카드 목록은 Support Matrix를 참조하세요.

Perf 컬럼은 P-state를 보고합니다. 일반적인 해석은 다음과 같습니다:

P-state Clock (Neural Engine) PCIe Note
P2 Nominal Gen5 -
P4 Nominal Gen4 -
P6 Half Gen4 -
P10 Half (No update) Thermal Throttling
P12 Minimal (No update) System Abort (Hang)
P14 Off (No update) Idle

Command Reference

Note

일부 작업에는 sudo가 필요합니다. 특히 group, tdr, timeout, sort와 같은 서브커맨드는 sudo가 필요합니다.

General usage

기본 호출 패턴은 다음과 같습니다:

$ rbln-smi [global options]
$ rbln-smi --topo [options]
$ sudo rbln-smi <subcommand> [arguments]

Global options

다음 옵션은 모든 명령 모드에서 사용할 수 있습니다:

Option Description
-h, --help 도움말 정보를 표시합니다. 서브커맨드 도움말은 sudo가 필요합니다.
-b, --byte-format 사람이 읽을 수 있는 단위 대신 원시 단위로 값을 표시합니다.
-j, --json 결과를 JSON 형식으로 렌더링합니다.
-q, --query 공백으로 구분된(CSV와 유사한) 형식으로 데이터를 출력합니다.
-qd, --query-device <columns> 쿼리 모드 사용 시 특정 디바이스 컬럼을 선택합니다.
-qc, --query-context <columns> 쿼리 모드 사용 시 특정 컨텍스트 컬럼을 선택합니다.
-t, --topo 디바이스/시스템 토폴로지를 표시합니다(커널 6.2 이상 권장).
-L, --list NPU와 해당 UUID를 나열합니다.
-d, --device <ids> 쉼표로 구분된 목록 또는 범위로 NPU를 선택합니다.
-g, --group RSD 그룹별로 구성된 출력을 표시합니다.
-v, --version 버전 정보를 출력하고 종료합니다.

CLI Examples

Basic commands

Summary

기본 보기. 디바이스 및 컨텍스트 정보의 스냅샷을 표시합니다.

Command

Command
$ rbln-smi [options]

Output (excerpt)

Monitor (excerpt)
Mon Nov 17 14:15:26 2025
+-------------------------------------------------------------------------------------------------+
|                        Device Information KMD ver: 2.1.0~dev.107+gafec0b9                       |
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
| NPU |    Name   | Device  |   PCI BUS ID  | Temp |  Power  | Perf |  Memory(used/total) |  Util |
+=====+===========+=========+===============+======+=========+======+=====================+=======+
| 0   | RBLN-CA25 | rbln0   |  0000:47:00.0 |  37C |  75.9W  |  P2  |  90.0MiB / 15.7GiB  |  50.0 |
| 1   |           | rbln1   |  0000:48:00.0 |  26C |         | P14  |    0.0B / 15.7GiB   |   0.0 |
+-------------------------------------------------------------------------------------------------+
|                                       Context Information                                       |
+-----+---------------------+--------------+-----------+----------+------+---------------+--------+
| NPU | Process             |     PID      |    CTX    | Priority | PTID |      Memalloc | Status |
+=====+=====================+==============+===========+==========+======+===============+========+
| 0   | command_submission  |    257082    |   10001   |   min    |  0   |       90.0MiB |  run   |

Summary

결과를 JSON 형식으로 출력합니다.

Command

Command
$ rbln-smi -j

Output (excerpt)

JSON output (excerpt)
{
  "KMD_version": "2.1.0~dev.107+gafec0b9",
  "devices": [
    {
      "npu": 0,
      "name": "RBLN-CA25",
      "sid": "SAMPLE_SID_0000",
      "uuid": "11111111-2222-3333-4444-555555555555",
      "device": "rbln0",
      "temperature": "24C",
      "card_power": "41448540uW",
      "pstate": "P14",
      "memory": { "used": "0", "total": "16877879296" },
      "util": "0.0"
    }
  ],
  "contexts": []
}

Summary

결과를 공백으로 구분된(CSV와 유사한) 형식으로 출력합니다.

Command

Command
$ rbln-smi -q

Output (excerpt)

Query output (excerpt)
driver_version:
  2.1.0~dev.107+gafec0b9
devices:
 npu      name        sid             uuid                                  device status ...
   0 RBLN-CA25 SAMPLE_SID_0000 11111111-2222-3333-4444-555555555555          rbln0 normal ...
   1 RBLN-CA25 SAMPLE_SID_0001 66666666-7777-8888-9999-AAAAAAAAAAAA          rbln1 normal ...

Summary

지정된 NPU만 출력을 제한합니다.

Command

Command
$ rbln-smi -d 0,1

Output (excerpt)

Device filter (excerpt)
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
| NPU |    Name   | Device  |   PCI BUS ID  | Temp |  Power  | Perf |  Memory(used/total) |  Util |
+=====+===========+=========+===============+======+=========+======+=====================+=======+
| 0   | RBLN-CA25 | rbln0   |  0000:05:00.0 |  24C |  41.6W  | P14  |    0.0B / 15.7GiB   |   0.0 |
| 1   |           | rbln1   |  0000:06:00.0 |  25C |         | P14  |    0.0B / 15.7GiB   |   0.0 |
+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+

Summary

디바이스/시스템 토폴로지 정보를 출력합니다 (거리 행렬 및 관련 세부 정보).

Command

Command
$ rbln-smi --topo [--device <ids>]

Output (excerpt)

Topology (example)
Hardware Topology
Device Distance  n0  n1  n2  n3
rbln0        n0   0   4   4   4
rbln1        n1   4   0   4   4
rbln2        n2   4   4   0   4
rbln3        n3   4   4   4   0

Summary

NPU와 해당 UUID를 나열합니다.

Command

Command
$ rbln-smi -L

Output (excerpt)

-L (excerpt)
NPU 0: UUID: 11111111-2222-3333-4444-555555555555 (example)
NPU 1: UUID: 66666666-7777-8888-9999-AAAAAAAAAAAA (example)

Subcommands (sudo)

Summary

RSD 그룹을 생성하거나 삭제합니다.

Command

Command
$ sudo rbln-smi group [-c <group_id> -a <npu_ids>] [-d <group_id>]

Options

Argument Description
-c, --create <group_id> 새로운 RSD 그룹을 생성합니다(-a와 함께 사용). all을 지정하면 각 디바이스마다 그룹 1개씩 할당됩니다.
-a, --attach <npu_ids> NPU(쉼표로 구분)를 새 그룹에 연결합니다.
-d, --destroy <group_id> RSD 그룹을 제거합니다. all을 지정하면 모든 그룹을 제거하여 기본 그룹인 0에 합쳐집니다.

Example session

Group workflow (example)
$ sudo rbln-smi group -h
usage: rbln-smi group [-h] [-c GROUP_ID -a NPU_ID[,NPU_ID...]] [-d GROUP_ID]

$ sudo rbln-smi group -c 1 -a 0,1
# (no output on success)

$ rbln-smi --group
+-----+-----+-----------+---------+---------------+------+---------+------+---------------------+-------+
| Grp | NPU |    Name   | Device  |   PCI BUS ID  | Temp |  Power  | Perf |  Memory(used/total) |  Util |
+=====+=====+===========+=========+===============+======+=========+======+=====================+=======+
| 1   | 0   | RBLN-CA25 | rbln0   |  0000:05:00.0 |  23C |  41.0W  | P14  |    0.0B / 15.7GiB   |   0.0 |
| 1   | 1   |           | rbln1   |  0000:06:00.0 |  25C |         | P14  |    0.0B / 15.7GiB   |   0.0 |
+=====+=====+===========+=========+===============+======+=========+======+=====================+=======+

$ sudo rbln-smi group -d 1
# (no output on success)

$ sudo rbln-smi group -c all
# 각 디바이스마다 그룹 1개씩 할당됨

$ sudo rbln-smi group -d all
# 모든 그룹을 제거하여 기본 그룹인 0에 합쳐짐

Summary

RSD 그룹의 TDR 값을 설정합니다.

Command

Command
$ sudo rbln-smi tdr -g <group_ids> -v <value>

Notes

성공 시 이 명령은 일반적으로 출력을 인쇄하지 않습니다.

Output (example)

TDR set (example)
$ sudo rbln-smi tdr -g 1 -v 10
# (no output on success)

Summary

RSD 그룹의 타임아웃 값을 조정합니다.

Command

Command
$ sudo rbln-smi timeout -g <group_ids> -v <value>

Notes

성공 시 이 명령은 일반적으로 출력을 인쇄하지 않습니다.

Output (example)

Timeout set (example)
$ sudo rbln-smi timeout -g 1 -v 10
# (no output on success)

Summary

PCI BDF로 NPU 디바이스를 정렬하고 다시 바인딩합니다.

Command

Command
$ sudo rbln-smi sort

Notes

성공 시 이 명령은 일반적으로 출력을 인쇄하지 않습니다.

Output (example)

Sort (example)
$ sudo rbln-smi sort
# (no output on success)

Troubleshooting

Permission denied / subcommand requires sudo

명령을 sudo로 실행하세요 (예: sudo rbln-smi group -h).

No devices are shown

  • 드라이버가 설치되어 있고 NPU가 감지되었는지 확인하세요.
  • rbln-smi -L을 시도하여 디바이스를 나열하세요.

Topology output is missing

--topo를 사용할 수 없거나 불완전한 경우, 커널/버전 요구 사항을 확인하고 --device <ids>를 통해 특정 디바이스로 다시 시도하세요.

See also