하드웨어 진단 (rbln-vs)¶
rbln-vs는 소프트웨어 무결성, 하드웨어 존재 확인, PCIe 대역폭, NPU 메모리를 포괄하는 계층별 테스트를 통해 RBLN NPU 상태를 검증하는 하드웨어 및 소프트웨어 진단 도구입니다.
Info
rbln-vs는 root 권한 (sudo)이 필요합니다.rbln-vs는 다음 서버 모델에서 지원됩니다. 지원되지 않는 모델에서는 오류와 함께 종료됩니다.AS -4125GS-TNRT2AS -5126GS-TNRT2
- 다음 시스템 도구가 설치되어 있어야 합니다:
lspci,lsmod,lscpu,dmidecode,dmesg,fuser. - 다음 RBLN 도구가 설치되어 있어야 합니다:
rbln-smi,rblnBandwidthLatencyTest.
빠른 시작¶
주요 개념 및 용어¶
테스트 레벨¶
rbln-vs는 테스트를 두 단계로 구성합니다:
- L1 (기본 점검): 장치에 부하를 주지 않고 소프트웨어 스택과 하드웨어 존재 여부를 검증합니다.
- L2 (스트레스 테스트): PCIe 링크, NPU 메모리 무결성, 메모리 대역폭 안정성을 검사합니다.
테스트 대상¶
-t, --target으로 개별 대상을 선택할 수 있습니다:
| Target | Level | Description |
|---|---|---|
software_integrity |
L1 | rbln-smi 바이너리, 커널 모듈, 드라이버/FW/SMC 버전, /dev/rbln* 접근 권한을 검증합니다. |
hardware_presence |
L1 | PCI 장치 인식, 장치 노드 접근, 점유 상태, 유휴 상태 건강(온도/전력), dmesg 오류 이력을 점검합니다. |
pcie_bandwidth |
L2 | PCIe 링크 속도/폭, 호스트-장치 대역폭, P2P 대역폭/지연 시간, PCIe remove/rescan을 검증합니다. |
npu_memory |
L2 | 장치 메모리에 여러 데이터 패턴을 쓰고 읽어 무결성을 검증합니다. |
memory_bandwidth |
L2 | 반복 대역폭 측정을 수행하고 결과 안정성을 확인합니다. |
그룹 대상은 여러 테스트를 한 번에 실행합니다:
| Target | Equivalent tests |
|---|---|
l1_test |
software_integrity + hardware_presence |
l2_test |
모든 L1 테스트 + pcie_bandwidth + npu_memory + memory_bandwidth |
all |
l2_test와 동일 |
출력 디렉토리¶
각 실행은 결과 경로(기본값: results/) 아래에 타임스탬프 디렉토리를 생성합니다:
| File | Content |
|---|---|
run.log |
단계별 PASS/FAIL/SKIP 카운트가 포함된 타임스탬프 실행 로그. |
system_info.txt |
서버 하드웨어, OS, 커널, 드라이버, NPU별 세부 정보. |
test_report.txt |
단계별 결과, 메트릭, 통과율이 포함된 최종 리포트. |
test_logs/<name>.json |
테스트별 기계 판독 가능 결과. |
test_logs/<name>.txt |
테스트별 사람이 읽을 수 있는 요약. |
debug_logs.tar.gz |
암호화된 디버그 로그 아카이브 (펌웨어 로그, SMC 로그, 커널 로그). |
명령어 참조¶
일반 사용법¶
$ sudo rbln-vs -t <target> [options]
$ sudo rbln-vs -t <target1> <target2> ... [options]
$ sudo rbln-vs -l
Tip
전체 버전별 옵션 참조를 보려면 rbln-vs --help를 실행하세요.
옵션¶
| Option | Description |
|---|---|
-h, --help |
도움말 메시지를 표시하고 종료합니다. |
--version |
버전 정보를 표시하고 종료합니다. |
-t, --target <TARGET ...> |
하나 이상의 테스트 대상: software_integrity, hardware_presence, pcie_bandwidth, npu_memory, memory_bandwidth, l1_test, l2_test, 또는 all. |
-l, --list |
사용 가능한 대상을 나열하고 종료합니다. |
-j, --json |
JSON 형식으로 결과를 출력합니다. |
-d, --npu <NPU> |
L2 테스트를 특정 NPU 인덱스로 제한합니다 (예: 0). |
-r, --results <PATH> |
기본 출력 디렉토리 (기본값: results/). |
Note
-d, --npu 옵션은 L2 테스트에만 적용됩니다. L1 전용 대상 실행 시에는 무시됩니다.
CLI 예제¶
요약
현재 시스템에서 사용 가능한 테스트 대상을 나열합니다.
명령어
출력 (예제)
요약
모든 감지된 NPU에 대해 전체 L1 + L2 테스트를 실행합니다.
명령어
출력 (예제)
+-------------------- System Information --------------------+
| |
| OS : ubuntu 22.04.5 LTS (Jammy Jellyfish) |
| Kernel : 6.8.0-90-generic |
| CPU Model : AMD EPYC 9355 32-Core Processor |
| Manufacturer : Supermicro |
| Architecture : x86_64 |
| |
+========================= Level 1 ==========================+
| |
+--- Software Integrity -------------------------------------+
| |
| Result : PASS |
| -------------------------------------------------------- |
| Binary Integrity : PASS |
| Module Status : PASS |
| Version Consistency : PASS |
| Access Permission : PASS |
| |
+--- Hardware Presence --------------------------------------+
| |
| Result : PASS |
| -------------------------------------------------------- |
| Device Count : 4 |
| Device Recognition : PASS |
| Device Occupancy : PASS |
| Device Health : PASS |
| Error History : PASS |
| |
+========================= Level 2 ==========================+
| |
+--- NPU Memory ---------------------------------------------+
| |
| Result : PASS |
| Test Duration : 25.81 seconds (0.43 minutes) |
| -------------------------------------------------------- |
| Device Count : 4 |
| Pattern Integrity : PASS |
| |
+--- Memory Bandwidth ---------------------------------------+
| |
| Result : PASS |
| Test Duration : 164.98 seconds (2.75 minutes) |
| -------------------------------------------------------- |
| Device Count : 4 |
| Data Integrity : PASS |
| Performance Stability : PASS |
| |
+--- PCIe Bandwidth -----------------------------------------+
| |
| Result : PASS |
| Test Duration : 23.38 seconds (0.39 minutes) |
| -------------------------------------------------------- |
| Device Count : 4 |
| Link & Signal Health : PASS |
| Host-Device Speed : PASS |
| P2P Connectivity : PASS |
| Transfer Latency : PASS |
| PCIe Remove/Rescan : PASS |
| |
+============================================================+
Debug logs archived: results/20260223_155311/debug_logs.tar.gz
Results saved to: results/20260223_155311/
요약
장치에 부하를 주지 않고 기본 소프트웨어 및 하드웨어 존재 점검을 수행합니다.
명령어
출력 (예제)
+-------------------- System Information --------------------+
| |
| OS : ubuntu 22.04.5 LTS (Jammy Jellyfish) |
| Kernel : 6.8.0-90-generic |
| CPU Model : AMD EPYC 9355 32-Core Processor |
| Manufacturer : Supermicro |
| Architecture : x86_64 |
| |
+========================= Level 1 ==========================+
| |
+--- Software Integrity -------------------------------------+
| |
| Result : PASS |
| -------------------------------------------------------- |
| Binary Integrity : PASS |
| Module Status : PASS |
| Version Consistency : PASS |
| Access Permission : PASS |
| |
+--- Hardware Presence --------------------------------------+
| |
| Result : PASS |
| -------------------------------------------------------- |
| Device Count : 4 |
| Device Recognition : PASS |
| Device Occupancy : PASS |
| Device Health : PASS |
| Error History : PASS |
| |
+============================================================+
Debug logs archived: results/20260223_160012/debug_logs.tar.gz
Results saved to: results/20260223_160012/
요약
특정 L2 테스트를 단일 NPU로 제한하여 실행합니다.
명령어
출력 (예제)
+-------------------- System Information --------------------+
| |
| OS : ubuntu 22.04.5 LTS (Jammy Jellyfish) |
| Kernel : 6.8.0-90-generic |
| CPU Model : AMD EPYC 9355 32-Core Processor |
| Manufacturer : Supermicro |
| Architecture : x86_64 |
| |
+--- PCIe Bandwidth -----------------------------------------+
| |
| Result : PASS |
| Test Duration : 4.80 seconds (0.08 minutes) |
| -------------------------------------------------------- |
| Device Count : 1 |
| NPU IDs : [0] |
| Link & Signal Health : PASS |
| Host-Device Speed : PASS |
| P2P Connectivity : PASS |
| Transfer Latency : PASS |
| PCIe Remove/Rescan : PASS |
| |
+------------------------------------------------------------+
Debug logs archived: results/20260223_155844/debug_logs.tar.gz
Results saved to: results/20260223_155844/
요약
테스트 결과를 사용자 지정 디렉토리에 저장합니다.
명령어
결과는 ./my_results/<YYYYMMDD_HHMMSS>/ 아래에 저장됩니다.
요약
프로그래밍 방식으로 사용할 수 있도록 JSON 형식으로 테스트 결과를 출력합니다.
명령어
출력 (예제)
{
"version": "3.2.0",
"system_information": {
"os": "ubuntu 22.04.5 LTS (Jammy Jellyfish)",
"kernel": "6.8.0-90-generic",
"cpu_model": "AMD EPYC 9355 32-Core Processor",
"manufacturer": "Supermicro",
"architecture": "x86_64"
},
"level_1": {
"software_integrity": {
"result": "PASS",
"binary_integrity": "PASS",
"module_status": "PASS",
"version_consistency": "PASS",
"access_permission": "PASS"
},
"hardware_presence": {
"result": "PASS",
"device_count": 4,
"device_recognition": "PASS",
"device_occupancy": "PASS",
"device_health": "PASS",
"error_history": "PASS"
}
}
}
테스트 상세¶
L1: 소프트웨어 무결성¶
rbln-smi 바이너리, 커널 모듈, 드라이버/펌웨어/SMC 버전, 장치 노드 권한 등 RBLN 소프트웨어 스택이 올바르게 설치되었는지 검증합니다.
L1: 하드웨어 존재 확인¶
PCI 장치 인식, 장치 노드 접근, 온도/전력 수치, dmesg 오류 이력 등 NPU 하드웨어가 존재하고 유휴 상태에서 정상인지 검증합니다.
Note
유휴 상태 건강 점검(온도/전력)의 임계값은 config/test_parameter.yml 파일로 구성할 수 있습니다. RBLN_VS_TEST_PARAMETER_CONFIG 환경 변수를 설정하면 기본 경로 대신 지정한 설정 파일을 사용합니다. 설정 파일이 없거나 파싱에 실패하면 내장 기본값이 적용됩니다.
L2: PCIe 대역폭¶
장치별로 PCIe 링크 속도/폭, 호스트-장치 대역폭, P2P 대역폭 및 지연 시간, PCIe remove/rescan 복구를 검사합니다.
L2: NPU 메모리¶
장치 메모리에 여러 데이터 패턴을 쓰고 읽어 데이터 무결성을 검증합니다.
L2: 메모리 대역폭¶
반복 대역폭 측정을 수행하고 모든 결과가 안정적이며 데이터 무결성 검사를 통과하는지 확인합니다.
문제 해결¶
권한 거부¶
rbln-vs는 root 권한이 필요합니다. sudo를 사용하여 명령어를 다시 실행하세요.
지원되지 않는 서버 모델¶
현재 서버 모델이 지원 목록에 없으면 다음 오류와 함께 종료됩니다:
Error: Unsupported server model: '<model>'
rbln-vs is only supported on: AS -4125GS-TNRT2, AS -5126GS-TNRT2
시스템 도구 누락¶
필수 시스템 도구가 설치되어 있지 않으면 다음 오류와 함께 종료됩니다:
L2 테스트가 "BUSY"로 실패¶
다른 프로세스가 NPU를 사용 중입니다. 모든 워크로드를 중지하고 재시도하세요. rbln-vs는 BUSY 오류를 점진적 백오프와 함께 자동으로 재시도합니다. 재시도 횟수는 테스트에 따라 다릅니다 (최대 2~10회). 지속적인 경합이 발생하면 수동 개입이 필요합니다.
PCIe remove/rescan 후 복구되지 않음¶
- 테스트 중 장치 노드에 대한 참조를 보유한 프로세스가 없는지 확인하세요.
dmesg에서 하드웨어 문제를 나타낼 수 있는 PCIe AER 오류를 확인하세요.
관련 문서¶
rbln-smi: NPU 상태 모니터링 및 토폴로지 검사rblnBandwidthLatencyTest: 호스트-NPU 및 NPU-NPU 벤치마크rbln-bios: 시스템 설정 검증rbln-flash: 펌웨어 업데이트 도구