后端与接口
用自然语言管理华为昇腾 NPU:本地或 SSH…
当需要在本地或通过 SSH 远程管理/监控华为昇腾 NPU(npu-smi / ascend-dmi)时,用自然语言翻译成对应命令并执行。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用自然语言管理华为昇腾 NPU:本地或 特定
解决思路
- 环境检查:运行 `python3 --version` 确认 Python >= 3.8(纯标准库实现,无额外依赖)。
- 一次性执行命令:`python3 scripts/main.py --command "NPU health check"`。
- SSH 远程执行:`python3 scripts/main.py --command "NPU list" --host 192.168.1.100 --user root --password xxx`。
- 交互模式:直接运行 `python3 scripts/main.py`。
- 凭据安全:禁止读取、回显或打印密码值;禁止在对话中要求用户直接输入密码;只允许从命令行参数读取凭据。
- 敏感操作(ECC 启用/禁用、风扇模式变更、固件升级、vNPU 创建/删除、证书管理)执行前必须获得用户明确确认。
- 设备查询:`npu-smi info -l`(列出所有 NPU 设备)、`npu-smi info -m`(卡与芯片映射)、`npu-smi info`(完整 NPU 信息)。
- 健康检查:`npu-smi info -t health -i 0`。
- 温度/功耗/显存/利用率:`npu-smi info -t temp -i 0 -c 0`、`npu-smi info -t power -i 0 -c 0`、`npu-smi info -t memory -i 0 -c 0`、`npu-smi info -t usages -i 0 -c 0`。
- 配置管理:`npu-smi set -t ecc-enable -i 0 -c 0 -d 1`(启用 ECC,需确认)、`npu-smi set -t pwm-mode -d 0`(设置风扇模式,需确认)。
- 固件升级:`npu-smi upgrade -b mcu -i 0`(查询固件版本)、`npu-smi upgrade -t mcu -i 0 -f file.hpm`(上传固件,需确认)。
- vNPU 虚拟化:`npu-smi info -t info-vnpu -i 0 -c 0`(查询 vNPU 信息)、`npu-smi info -t template-info -i 0`(查询模板信息)、`npu-smi set -t create-vnpu -i 0 -c 0 -f vir04`(创建 vNPU,需确认)。
- 证书管理:`npu-smi info -t tls-cert -i 0 -c 0`(查看 TLS 证书)、`npu-smi info -t tls-cert-period -i 0 -c 0`(查询证书过期阈值)。
- FLOPS 测试(ascend-dmi,默认单设备 FP16,约 2 秒返回):`ascend-dmi -f -d 0 -t fp16 -q`;指定设备用 `-d 3`;FP32 用 `-t fp32`;精度支持 fp16/fp32/bf16/int8/hf32。
- 多设备 FLOPS 测试:8 设备异步并行执行,总耗时约 2 秒(而非串行 16 秒)。
- 性能优化:使用 SSH ControlMaster 复用持久连接(连接时间约 0.1s);用 `execute_batch()` 批量执行减少 SSH 往返;用 `test_flops_parallel()` 并行测试;用 `parse_full_info()` 一次解析获取全部卡信息(O(N) -> O(1))。
- 输出格式:成功时返回结构化 JSON(含 status、command、description);错误时返回 `[ERROR] <error-code>` + Message + Suggestion。
- 验证步骤:环境检查 `python3 --version`;本地测试 `python3 scripts/main.py --command "NPU list"`;远程测试 `python3 scripts/main.py --host <ascend-ip> --user root --password <pwd> --command "NPU health check"`。
- 排障:命令无法识别时检查是否包含支持的关键词或改用更明确的命令;SSH 失败时核对 SSH 参数并确认目标机 SSH 服务运行;npu-smi 不可用时确认目标机已安装 CANN 与 npu-smi 并检查 LD_LIBRARY_PATH。
- 最佳实践:本地直连用于本机 NPU,SSH 远程用于管理远程昇腾服务器;批量操作前先在单卡上测试;定期检查 NPU 温度与功耗;监控 HBM 使用避免 OOM;先执行 `npu-smi info` 检查健康,再用 `npu-smi info -t board -i <npu_id>` 查看详细错误日志。
适用边界 · 注意事项
- 目标机器未安装 npu-smi 或 ascend-dmi(需先安装 CANN 工具链)。
- 仅支持 SSH 密码认证,不支持交互式密码输入场景。
- 未获得用户明确确认时,不得执行固件升级、ECC/风扇配置变更、vNPU 创建删除、证书管理等敏感操作。