当前位置: 首页 > news >正文

写给新手的 oam-tools:昇腾OAM工具到底是啥?

之前帮兄弟搞多加速器管理他问我“哥我们有昇腾 NPU 和 NVIDIA GPU 混用有没有统一的管理工具”我说有oam-tools。好问题。今天一次说清楚。oam-tools 是啥oam-tools OAM Tools昇腾的OAMOpen Accelerator Model工具集。OAM 是开放加速器模型标准统一了加速器的监控、管理、固件升级接口。一句话说清楚oam-tools 是昇腾对 OAM 标准的实现工具集你想监控 NPU 温度、管理 NPU 固件、统一管理和 GPU 混用的加速器集群工具都给你准备好了。你说气人不气人之前自己写脚本监控 NPU现在用 oam-tools 一条命令全搞定。为什么要用 oam-tools三个字统一管。不用 oam-tools各自为战# 监控昇腾 NPU$ npu-smi stats# 监控 NVIDIA GPU$ nvidia-smi# 问题# 1. 两个命令输出格式不一样# 2. 写统一监控脚本很麻烦# 3. 告警阈值要分别设置# 4. 混用集群管理复杂用 oam-tools统一接口# 安装 oam-tools$gitclone https://atomgit.com/cann/oam-tools.git $cdoam-tools $bashinstall.sh# 统一监控昇腾 NPU NVIDIA GPU$ oam-smi stats# 输出# # OAM Stats (Ascend NPU NVIDIA GPU)# # Device | Type | Temp | Power | Memory | Util# -------|------|------|-------|--------|------# 0 | NPU | 65°C | 180W | 16/32GB | 85%# 1 | NPU | 67°C | 185W | 18/32GB | 87%# 2 | GPU | 72°C | 250W | 12/24GB | 92%# 3 | GPU | 70°C | 245W | 10/24GB | 90%## Alert: NPU 1 temp 65°C (threshold: 65°C)# # 你说气人不气人一条命令监控所有加速器。核心概念就三个1. OAM 标准OAMOpen Accelerator Model是开放加速器模型标准# OAM 统一接口oam-smi# 监控工具类似 nvidia-smioam-fwupdate# 固件升级工具oam-diagnostics# 诊断工具2. 工具Tools每个工具一个目录oam-tools/ ├── tools/ │ ├── oam-smi/ # 监控工具 │ │ ├── oam-smi.py │ │ └── README.md │ │ │ ├── oam-fwupdate/ # 固件升级工具 │ │ ├── oam-fwupdate.py │ │ └── README.md │ │ │ └── oam-diagnostics/ # 诊断工具 │ ├── oam-diagnostics.py │ └── README.md │ └── examples/ # 使用示例 ├── monitor_example/ ├── fwupdate_example/ └── diagnostics_example/3. 配置Config统一配置文件# config/oam-config.yamldevices:-type:ascendids:[0,1,2,3]thresholds:temp:65# 温度阈值°Cpower:200# 功耗阈值Wmemory:30000# 显存阈值MB-type:nvidiaids:[0,1]thresholds:temp:75power:280memory:22000monitor:interval:5# 监控间隔秒log_file:/var/log/oam-stats.logalert:truealert_script:/path/to/alert.sh为什么要用 oam-tools三个理由1. 统一接口昇腾 NPU 和 NVIDIA GPU 统一监控# 不用 oam-tools$ npu-smi stats# 昇腾 NPU$ nvidia-smi# NVIDIA GPU# 输出格式不一样不好统一处理# 用 oam-tools$ oam-smi stats# 统一输出格式方便处理 ✅2. 固件管理统一固件升级# 查看固件版本$ oam-fwupdate--query# 输出# Device | Type | Current Version | Available Version | Update Available# -------|------|-----------------|-------------------|------------------# 0 | NPU | 1.2.3 | 1.2.5 | ✅# 1 | NPU | 1.2.3 | 1.2.5 | ✅# 2 | GPU | 510.47.00 | 515.48.01 | ✅# 升级固件$ oam-fwupdate--update--all# 输出# Updating device 0: 1.2.3 → 1.2.5... Done ✅# Updating device 1: 1.2.3 → 1.2.5... Done ✅# Updating device 2: 510.47.00 → 515.48.01... Done ✅3. 诊断工具统一诊断# 运行诊断$ oam-diagnostics--all# 输出# # OAM Diagnostics Result# # Device | Type | Status | Message# -------|------|--------|--------# 0 | NPU | ✅ | OK# 1 | NPU | ❌ | ECC error detected# 2 | GPU | ✅ | OK# 3 | GPU | ✅ | OK## Suggestion: Replace device 1.# 怎么用代码示例示例 1监控 NPU 和 GPU# 1. 克隆仓库$gitclone https://atomgit.com/cann/oam-tools.git $cdoam-tools# 2. 安装$bashinstall.sh# 3. 修改配置$viconfig/oam-config.yaml# 修改# devices:# - type: ascend# ids: [0, 1]# - type: nvidia# ids: [0]# 4. 运行监控$ oam-smi stats# 输出# # OAM Stats (Ascend NPU NVIDIA GPU)# # Device | Type | Temp | Power | Memory | Util# -------|------|------|-------|--------|------# 0 | NPU | 65°C | 180W | 16/32GB | 85%# 1 | NPU | 67°C | 185W | 18/32GB | 87%# 2 | GPU | 72°C | 250W | 12/24GB | 92%## Alert: NPU 1 temp 65°C (threshold: 65°C)# 示例 2固件升级# 1. 查看固件版本$ oam-fwupdate--query# 输出# Device | Type | Current Version | Available Version | Update Available# -------|------|-----------------|-------------------|------------------# 0 | NPU | 1.2.3 | 1.2.5 | ✅# 1 | NPU | 1.2.3 | 1.2.5 | ✅# 2. 升级固件$ oam-fwupdate--update--all# 输出# Updating device 0: 1.2.3 → 1.2.5... Done ✅# Updating device 1: 1.2.3 → 1.2.5... Done ✅# 3. 验证$ oam-fwupdate--query# 输出# Device | Type | Current Version | Available Version | Update Available# -------|------|-----------------|-------------------|------------------# 0 | NPU | 1.2.5 | 1.2.5 | ❌# 1 | NPU | 1.2.5 | 1.2.5 | ❌示例 3诊断# 1. 运行诊断$ oam-diagnostics--all# 输出# # OAM Diagnostics Result# # Device | Type | Status | Message# -------|------|--------|--------# 0 | NPU | ✅ | OK# 1 | NPU | ❌ | ECC error detected## Suggestion: Replace device 1.# # 2. 详细诊断$ oam-diagnostics--device1--verbose# 输出# # OAM Diagnostics (Device 1)# # Status: ❌# Error: ECC error detected# Error Count: 1024## Suggestion: Replace device 1.# 示例 4集成到监控告警系统# monitor.pyimportsubprocessimportjsonimporttimeimportsmtplibfromemail.mime.textimportMIMETextdefget_oam_stats():resultsubprocess.run([oam-smi,stats,--json],capture_outputTrue,textTrue)returnjson.loads(result.stdout)defcheck_thresholds(stats,config):alerts[]fordeviceinstats[devices]:device_iddevice[id]device_typedevice[type]tempdevice[temp]powerdevice[power]memorydevice[memory][used]thresholdsconfig[devices][device_type][thresholds]iftempthresholds[temp]:alerts.append(fDevice{device_id}temp{temp}°C {thresholds[temp]}°C)ifpowerthresholds[power]:alerts.append(fDevice{device_id}power{power}W {thresholds[power]}W)ifmemorythresholds[memory]:alerts.append(fDevice{device_id}memory{memory}MB {thresholds[memory]}MB)returnalertsdefsend_alert(alerts):msgMIMEText(\n.join(alerts))msg[Subject]OAM Alertmsg[From]monitorexample.commsg[To]adminexample.comwithsmtplib.SMTP(localhost)asserver:server.send_message(msg)defmain():withopen(config/oam-config.yaml,r)asf:configyaml.safe_load(f)whileTrue:statsget_oam_stats()alertscheck_thresholds(stats,config)ifalerts:send_alert(alerts)time.sleep(config[monitor][interval])if__name____main__:main()性能数据用 oam-tools 的效率提升操作不用 oam-tools用 oam-tools提升监控 NPU GPU2 个命令1 个命令2x固件升级手动升级一条命令10x诊断手动检查一条命令5x提升~5x你说气人不气人之前监控 2 种加速器要 2 个命令现在一条命令。跟其他仓库的关系oam-tools 在 CANN 架构里属于第 5 层昇腾计算基础层是OAM 工具集。依赖关系oam-toolsOAM 工具集 ↑ 管理 昇腾 NPU NVIDIA GPU解释一下oam-toolsOAM 工具集监控/固件升级/诊断昇腾 NPU被管理NVIDIA GPU被管理简单说oam-tools是加速器管理的统一接口。想统一监控 NPU 和 GPU就用它。oam-tools 的核心内容1. 工具# 支持的工具tools/oam-smi/# 监控工具tools/oam-fwupdate/# 固件升级工具tools/oam-diagnostics/# 诊断工具2. 配置# config/oam-config.yamldevices:-type:...ids:[...]thresholds:{...}monitor:interval:...log_file:...alert:...3. 脚本# monitor.pydefget_oam_stats():# 获取 OAM 统计信息# 检查阈值# 发送告警4. 示例# examples/monitor_example/ fwupdate_example/ diagnostics_example/适用场景什么情况下用 oam-tools多加速器管理NPU GPU 混用统一监控要统一监控接口固件管理要升级固件诊断要诊断加速器问题什么情况下不用只有 NPU用npu-smi只有 GPU用nvidia-smi总结oam-tools 就是昇腾的OAM 工具集oam-smi监控oam-fwupdate固件升级oam-diagnostics诊断
http://www.zskr.cn/news/1359749.html

相关文章:

  • 写给新手的 cann-spack-package:昇腾Spack包管理到底是啥?
  • 工业视觉光源颜色选型全攻略|白/红/蓝/绿光适用场景、原理与避坑细则
  • RAG 进化史:从基础检索到智能体驱动
  • 各种“地”—— 各种“GND”
  • 2026亲测:专业降AI率软件选这款就对了3秒改写无痕迹
  • 利用Taotoken的API Key分级管理实现项目间的资源隔离
  • Spring 事务机制深度解析
  • 重磅资源!《大语言模型VIP+50+Python入门资料PDF》全套学习指南
  • 超市陈列这样做,顾客逛得不想走,员工执行不犯错
  • 大一新生怎么合理利用github?用好Github
  • 为什么很多企业买三维扫描设备之前问“多少钱”,用了一段时间后开始问“值不值”?
  • 香港6月雨季来临,房屋漏水怎么办?卫生间免砸砖防水、外墙、屋面+地下室渗漏。权威防水公司靠谱TOP5推荐(2026年6月本地最新深度调研) - 企业资讯
  • 618运营忙不过来?让AI来接管
  • AI进行简历筛选:如何将5小时筛选压缩至48分钟,彻底解决“招错人“难题?
  • mysql从5.7升级到8.0后ONLY_FULL_GROUP_BY是升级后应用报错的第一大原因
  • 3步解决魔兽争霸3在现代电脑上的三大兼容难题
  • 保山6月雨季来临,房屋漏水怎么办?卫生间免砸砖防水、外墙、屋面+地下室渗漏。权威防水公司靠谱TOP5推荐(2026年6月本地最新深度调研) - 企业资讯
  • myssh
  • 企业级应用通过Taotoken实现AI能力冗余与故障转移设计
  • ACS770还能打吗?最近测试了一款国产霍尔电流传感器
  • 硬核根基,智能载体:华清远见嵌入式“硬件+仿真+课程+师资”产教融合与实践教学方案
  • RAG-重排序策略
  • 【AI营销】为什么你的网站内容再好,AI也只引用其中一页?
  • 阿里云ACP云计算| 20人团考全员通过,恭喜!
  • 【限时解密】Lindy自动化方案未公开的4层权限熔断机制:为什么92%的企业跳过这步就触发合规雷区?
  • 3种实战方法搞定Docker镜像加速:从零到精通完全指南
  • Taotoken的Token Plan套餐如何帮助初创团队控制AI成本
  • 5款必备Illustrator脚本:让你的设计效率提升300%
  • 回收福禄克Fluke 5730A多功能校准器
  • AI Agent写诉状=执业风险?司法部新规生效倒计时30天,这4类文书必须人工复核