CSR配置字典之NPU类
更新时间: 2025/07/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题NPU类配置字典
版本v1.0
创建日期2026-06-22
最后更新2026-06-22
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02026-06-22初始版本创建NPU类配置字典全新文档系统管理员

🎯 类概览

NPU 类

属性
类名称NPU
功能描述NPU处理器配置和状态管理
所属SIG组system
所属组件处理器管理
责任人系统架构组
最后更新2026-06-22
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
IdU81~16-ID
在多个Host间标识NPU
指定NPU的编码1CSR配置软件
SystemIdU81~8-Host ID指明NPU所在的Host1CSR配置软件
NameString--名字NPU名称显示"NPU1"CSR配置软件
PresenceU811-在位信息显示NPU在位状态1CSR配置软件
ArchitectureString--芯片架构北向接口显示NPU架构"DaVinci"CSR配置软件
ManufacturerString--厂商硬件资产制造商"Huawei"CSR配置软件
ModelString--产品型号北向接口展示NPU型号"Ascend910"CSR配置软件
SlotU81~8-NPU的物理槽位信息显示NPU物理槽位1CSR配置软件
PowerOnU80、1-开机NPU上电状态1CSR配置软件
DiagnosticFaultU80--严重故障诊断告警状态
默认值为0
NPU故障检测告警配置0ras组件设置软件
PredictiveFaultU80--预故障告警状态
默认值0,异常状况置1
NPU预故障告警配置0ras组件设置软件
LocationString"A1"A1~A4-NPU所属抽屉信息显示NPU所在抽屉"A1"CSR配置软件
PositionStringbuc、pcie卡等-容器:buc、pcie卡等显示NPU所在容器位置"buc"CSR配置软件
HealthU8关联ComponentComponent_NPU1健康状态NPU健康状态告警配置"<=/Component_NPU1.Health"CSR配置软件
ThermalTripU8关联AccessorScanner_Npu1ThermalTripAccessorNPU的过热保护状态NPU过温告警配置"<=/Scanner_Npu1ThermalTripAccessor.Value"硬件提供硬件
ReplaceableBooleanfalsetrue/false-此部件是否可以作为独立的部件进行替换NPU热插拔falseCSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
CapabilitySupportMaskU320--能力支持掩码NPU能力特性展示0CSR配置软件
ComputeCapabilityString--芯片算力规格北向接口展示NPU算力"910B"CSR配置软件
ComputeCapabilitiesArray[ComputeCapabilityItem]--NPU芯片计算能力集合,包含支持的计算精度和对应算力NPU算力详情展示[{"precision":"FP16","throughput":"256 TFLOPS"}]CSR配置软件
NimBusTempU160--芯片外围设备NimBus温度NPU外围温度监控0硬件上报硬件
AiCoreTempU160--AiCore计算核心温度NPU核心温度监控0硬件上报硬件
HBMTempU160--HBM内存温度NPU HBM温度监控0硬件上报硬件
VRDChipTempU160--VRD chip温度NPU VRD温度监控0硬件上报硬件
ECCAlarmStatusU800、1、2-NPU ECC错误告警状态
2-严重告警 1-事件 0-未发生
NPU ECC告警配置0ras组件设置软件
VendorIDU16--槽位号NPU槽位标识1CSR配置软件
VersionString--版本NPU版本信息显示"V100"CSR配置软件
FaultCodeString--NPU带内故障码NPU带内故障诊断""组件上报软件
TotalCoresU320--NPU核数北向接口展示NPU核数0CSR配置软件
PowerStateStringOff、PoweringOff、On、PoweringOn-NPU芯片上下电状态NPU上下电状态展示"Off"CSR配置软件
InstructionSetString--指令集北向接口展示NPU指令集"DaVinci"CSR配置软件

🔗 动态关联机制

语法规范

使用 #/xxx<=/xxx 格式实现属性间的动态关联:

yaml
# 语法格式
属性名: "#/目标类.属性名"     # 直接关联
属性名: "<=/目标类.属性名"    # 条件关联

# 实际示例
ThermalTrip: "<=/Scanner_Npu1ThermalTripAccessor.Value"    # 关联过热保护扫描器
Health: "<=/Component_NPU1.Health"                         # 关联健康状态组件

关联说明

  • Scanner关联: 通过Scanner获取实时硬件状态信息
  • Accessor关联: 通过Accessor进行读写操作
  • Component关联: 与其他组件的状态关联
  • 多种信号源: 支持温度、电源、故障等多种信号源的关联

📂 分类标准

硬件属性

  • 定义:直接从硬件获取或控制硬件的参数
  • 特点:实时反映硬件状态,支持硬件控制操作
  • 示例ThermalTrip, NimBusTemp, AiCoreTemp, HBMTemp, VRDChipTemp

软件属性

  • 定义:用于软件层面的NPU管理和配置
  • 特点:包含标识、配置、状态管理等功能
  • 示例Id, SystemId, Name, Presence, Architecture, Manufacturer, Model, Slot, PowerOn, DiagnosticFault, PredictiveFault, Location, Position, Health, Replaceable

📝 配置示例

标准单NPU配置

json
{
  "NPU": {
    "Id": 1,
    "SystemId": 1,
    "Name": "NPU1",
    "Presence": 1,
    "Architecture": "DaVinci",
    "Manufacturer": "Huawei",
    "Model": "Ascend910",
    "Slot": 1,
    "PowerOn": 1,
    "DiagnosticFault": 0,
    "PredictiveFault": 0,
    "Location": "A1",
    "Position": "buc",
    "Health": "<=/Component_NPU1.Health",
    "ThermalTrip": "<=/Scanner_Npu1ThermalTripAccessor.Value",
    "Replaceable": false,
    "CapabilitySupportMask": 0,
    "ComputeCapability": "910B",
    "ComputeCapabilities": [{"precision":"FP16","throughput":"256 TFLOPS"}],
    "NimBusTemp": 0,
    "AiCoreTemp": 0,
    "HBMTemp": 0,
    "VRDChipTemp": 0,
    "ECCAlarmStatus": 0,
    "VendorID": 1,
    "Version": "V100",
    "FaultCode": "",
    "TotalCores": 0,
    "PowerState": "Off",
    "InstructionSet": "DaVinci"
  }
}

多NPU配置(NPU1)

json
{
  "NPU1": {
    "Id": 1,
    "SystemId": 1,
    "Name": "NPU1",
    "Presence": 1,
    "Architecture": "DaVinci",
    "Manufacturer": "Huawei",
    "Model": "Ascend910",
    "Slot": 1,
    "PowerOn": 1,
    "DiagnosticFault": 0,
    "PredictiveFault": 0,
    "Location": "A1",
    "Position": "buc",
    "Health": "<=/Component_NPU1.Health",
    "ThermalTrip": "<=/Scanner_Npu1ThermalTripAccessor.Value",
    "Replaceable": false,
    "CapabilitySupportMask": 0,
    "ComputeCapability": "910B",
    "ComputeCapabilities": [{"precision":"FP16","throughput":"256 TFLOPS"}],
    "NimBusTemp": 0,
    "AiCoreTemp": 0,
    "HBMTemp": 0,
    "VRDChipTemp": 0,
    "ECCAlarmStatus": 0,
    "VendorID": 1,
    "Version": "V100",
    "FaultCode": "",
    "TotalCores": 0,
    "PowerState": "On",
    "InstructionSet": "DaVinci"
  }
}

多NPU配置(NPU2)

json
{
  "NPU2": {
    "Id": 2,
    "SystemId": 1,
    "Name": "NPU2",
    "Presence": 1,
    "Architecture": "DaVinci",
    "Manufacturer": "Huawei",
    "Model": "Ascend910",
    "Slot": 2,
    "PowerOn": 1,
    "DiagnosticFault": 0,
    "PredictiveFault": 0,
    "Location": "A1",
    "Position": "buc",
    "Health": "<=/Component_NPU2.Health",
    "ThermalTrip": "<=/Scanner_Npu2ThermalTripAccessor.Value",
    "Replaceable": false,
    "CapabilitySupportMask": 0,
    "ComputeCapability": "910B",
    "ComputeCapabilities": [{"precision":"FP16","throughput":"256 TFLOPS"}],
    "NimBusTemp": 0,
    "AiCoreTemp": 0,
    "HBMTemp": 0,
    "VRDChipTemp": 0,
    "ECCAlarmStatus": 0,
    "VendorID": 2,
    "Version": "V100",
    "FaultCode": "",
    "TotalCores": 0,
    "PowerState": "On",
    "InstructionSet": "DaVinci"
  }
}

PCIe卡场景配置

json
{
  "NPU_PCIE": {
    "Id": 3,
    "SystemId": 1,
    "Name": "NPU3",
    "Presence": 1,
    "Architecture": "DaVinci",
    "Manufacturer": "Huawei",
    "Model": "Ascend310",
    "Slot": 3,
    "PowerOn": 1,
    "DiagnosticFault": 0,
    "PredictiveFault": 0,
    "Location": "A2",
    "Position": "pcie卡",
    "Health": "<=/Component_NPU3.Health",
    "ThermalTrip": "<=/Scanner_Npu3ThermalTripAccessor.Value",
    "Replaceable": true,
    "CapabilitySupportMask": 0,
    "ComputeCapability": "310",
    "ComputeCapabilities": [{"precision":"FP16","throughput":"64 TFLOPS"}],
    "NimBusTemp": 0,
    "AiCoreTemp": 0,
    "HBMTemp": 0,
    "VRDChipTemp": 0,
    "ECCAlarmStatus": 0,
    "VendorID": 3,
    "Version": "V100",
    "FaultCode": "",
    "TotalCores": 0,
    "PowerState": "Off",
    "InstructionSet": "DaVinci"
  }
}

🔧 使用指南

配置步骤

  1. 设置基本标识:配置Id、SystemId、Name
  2. 配置物理信息:设置Slot、Location、Position
  3. 关联硬件信号:配置ThermalTrip等硬件关联
  4. 设置状态管理:配置Health、Presence、PowerOn、PowerState等状态属性
  5. 配置故障检测:设置DiagnosticFault、PredictiveFault、ECCAlarmStatus等故障属性
  6. 可选配置:根据需要配置温度、算力规格等可选属性

注意事项

  • ID唯一性:Id在多Host间必须唯一
  • 硬件关联:确保Scanner和Accessor对象存在且可用
  • 多Host配置:SystemId用于区分不同的Host
  • 槽位标识:Slot用于标识NPU的物理槽位信息
  • 位置区分:Position区分NPU所在容器类型(buc或pcie卡)
  • 故障检测:DiagnosticFault和PredictiveFault由RAS组件自动设置
  • ECC告警:ECCAlarmStatus取值2为严重告警、1为事件、0为未发生

性能建议

  • 硬件监控:合理设置Scanner的扫描频率
  • 故障响应:及时处理ThermalTrip信号
  • 温度管理:关注NimBusTemp、AiCoreTemp、HBMTemp、VRDChipTemp等温度属性
  • 资源优化:根据实际需求配置可选属性

ID体系说明

  • Id (1-16): 全局唯一标识,跨Host识别
  • SystemId (1-8): Host标识,区分不同主机
  • Slot (1-8): 物理槽位标识,标识NPU在系统中的槽位

故障检测机制

  • DiagnosticFault: 严重故障诊断告警检测
  • PredictiveFault: 预故障告警检测
  • ECCAlarmStatus: NPU ECC错误告警检测(2-严重告警 1-事件 0-未发生)
  • FaultCode: NPU带内故障码检测
  • ThermalTrip: NPU过热保护状态检测

常见问题

  • Q: 在位状态为什么不应该写死?
    • A: Presence应该反映NPU的实际在位状态,建议通过硬件检测动态获取
  • Q: Position的buc和pcie卡有什么区别?
    • A: buc表示NPU位于BUC容器内,pcie卡表示NPU以PCIe卡形式接入
  • Q: Location默认值为什么是A1?
    • A: A1是NPU默认所属的抽屉编号,可根据实际硬件布局调整
  • Q: 多Host场景如何配置?
    • A: 通过SystemId区分不同Host,Id保持全局唯一,Slot在各Host内独立编号