CSR配置字典之PCIeCard类
更新时间: 2025/07/22
在Gitcode上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | PCIeCard类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2025-01-27 |
| 最后更新 | 2025-01-27 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2025-01-27 | 初始版本 | 创建PCIeCard类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
PCIeCard 类
| 属性 | 值 |
|---|---|
| 类名称 | PCIeCard |
| 功能描述 | PCIe卡管理,提供PCIe卡的信息展示、状态监控、版本管理和拓扑管理功能 |
| 所属SIG组 | hardware |
| 所属组件 | pcie |
| 责任人 | PCIe设备管理组 |
| 最后更新 | 2025-01-27 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
Name | String | "" | - | - | 产品名称(SP580等) | PCIe卡信息展示 | "GPU Card" | CSR配置 | 软件 |
Model | String | "" | - | - | PCIe卡的型号 | PCIe卡信息展示 | "Atlas_300I_Pro" | CSR配置 | 软件 |
NodeID | String | "" | - | - | 通过PCIe卡所在容器和槽位得到的唯一标识符 | PCIe卡拓扑管理 | "" | 组件更新 | 软件 |
SlotID | U8 | - | - | - | 槽位号 | PCIe卡定位 | 1 | 组件更新 | 软件 |
DeviceName | String | "" | - | - | 设备资源名称 | PCIe卡信息展示 | "GPU0" | CSR配置 | 软件 |
FunctionClass | U8 | - | 0-9 | - | 功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡、5:SDI卡、6:加速卡、7:扩展卡、8:FPGA卡、9:NPU卡) | PCIe卡分类 | 3 | CSR配置 | 软件 |
Position | String | "" | - | - | 位置信息(容器信息) | PCIe卡定位 | "Slot1" | 组件更新 | 软件 |
RefChip | U8[] | [] | - | bmc.kepler.Chip.BlockIO | 关联芯片引用 | PCIe卡芯片管理 | [] | 硬件提供 | 硬件 |
Protocol | String | "" | - | - | 协议 | PCIe卡协议配置 | "PCIe" | CSR配置 | 软件 |
可选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
Description | String | "" | - | - | 描述 | PCIe卡信息展示 | "High Performance GPU" | CSR配置 | 软件 |
PcbVersion | String | "" | - | - | PCB版本 | PCIe卡版本管理 | "V1.0" | CSR配置 | 软件 |
BoardID | U16 | 65535 | 0-65535 | - | 单板ID(仅自研卡涉及) | PCIe卡识别 | 0x1234 | CSR配置 | 软件 |
BoardName | String | "" | - | - | 单板名称(仅自研卡涉及) | PCIe卡信息展示 | "GPU Board" | CSR配置 | 软件 |
LinkWidthAbility | String | "N/A" | X1,X4,X8,X16 | - | 最大链路带宽 | PCIe卡能力展示 | "x16" | CSR配置 | 软件 |
LinkWidth | String | "N/A" | X1,X4,X8,X16 | - | 链路带宽 | PCIe卡状态监控 | "x8" | 组件更新 | 软件 |
LinkSpeedCapability | String | "" | Gen1,Gen2,Gen3,Gen4,Gen5,Gen6 | - | 最大链路速率 | PCIe卡最大速率 | "Gen4" | CSR配置 | 软件 |
LinkSpeed | String | "" | Gen1,Gen2,Gen3,Gen4,Gen5,Gen6 | - | 链路速率 | PCIe卡状态监控 | "Gen3" | 组件更新 | 软件 |
VendorID | U16 | 0 | 0x0000-0xFFFF | - | 制造商ID | PCIe卡识别 | 0x10DE | CSR配置 | 软件 |
DeviceID | U16 | 0 | 0x0000-0xFFFF | - | 设备ID | PCIe卡识别 | 0x20B0 | CSR配置 | 软件 |
SubVendorID | U16 | 0 | 0x0000-0xFFFF | - | 子厂商ID | PCIe卡识别 | 0x10DE | CSR配置 | 软件 |
SubDeviceID | U16 | 0 | 0x0000-0xFFFF | - | 子设备ID | PCIe卡识别 | 0x1234 | CSR配置 | 软件 |
Manufacturer | String | "" | - | - | 厂商 | PCIe卡信息展示 | "NVIDIA" | CSR配置 | 软件 |
LaneOwner | U8 | - | - | - | 资源归属,起始值为1,表示当前卡挂在哪个CPU下 | PCIe卡拓扑管理 | 1 | CSR配置 | 软件 |
FirmwareVersion | String | "" | - | - | 固件版本 | PCIe卡版本管理 | "1.0.0" | 组件更新 | 软件 |
PartNumber | String | "" | - | - | 部件编码 | PCIe卡识别 | "PN-12345" | CSR配置 | 软件 |
SerialNumber | String | "" | - | - | 序列号 | PCIe卡识别 | "SN-12345" | CSR配置 | 软件 |
Health | U8 | - | - | - | 健康状态 | PCIe卡状态监控 | 0 | 组件更新 | 软件 |
CardModel | String | "" | - | - | PCIe设备型号 | PCIe卡信息展示 | "A100" | CSR配置 | 软件 |
CardManufacturer | String | "" | - | - | PCIe设备制造商 | PCIe卡信息展示 | "NVIDIA" | CSR配置 | 软件 |
CardForServers | U8[] | [] | - | - | PCIe设备服务的系统Id列表 | PCIe卡信息展示 | [] | CSR配置 | 软件 |
UID | String | "" | - | - | 唯一标识符 | PCIe卡识别 | "" | CSR配置 | 软件 |
PcbID | U8 | - | - | - | PCB ID | PCIe卡版本管理 | 0 | CSR配置 | 软件 |
MaxFrameLen | U32 | 0 | - | - | 最大帧长度 | PCIe卡参数配置 | 1500 | CSR配置 | 软件 |
DevBus | U8 | 0 | 0x00-0xFF | - | 设备总线号 | PCIe卡信息显示 | 0 | 组件更新 | 软件 |
DevDevice | U8 | 0 | 0x00-0x1F | - | 设备号 | PCIe卡信息显示 | 0 | 组件更新 | 软件 |
DevFunction | U8 | 0 | 0x00-0x07 | - | 设备功能号 | PCIe卡信息显示 | 0 | 组件更新 | 软件 |
🔗 动态关联机制
语法规范
使用变量替换语法和 #/xxx 格式实现动态配置:
yaml
# 语法格式
RefChip: "#/Chip.BlockIO"
SlotID: "${Slot}"
NodeID: "${NodeID}"关联说明
- RefChip: 关联PCIe卡对应的Chip对象
- LaneOwner: 表示PCIe卡所在的CPU资源归属
- CardForServers: 关联服务的Host系统列表
📂 分类标准
硬件属性
- 定义:与PCIe卡硬件特性直接相关的参数
- 特点:通常在CSR配置中定义,与硬件BOM表对应
- 示例:
RefChip,VendorID,DeviceID,SubVendorID,SubDeviceID
软件属性
- 定义:由系统动态更新和管理的参数
- 特点:通过组件更新机制动态获取和维护
- 示例:
LinkWidth,LinkSpeed,FirmwareVersion,Health,SerialNumber
📝 配置示例
GPU卡配置
json
{
"PCIeCard_1": {
"DeviceName": "<=/PCIeDevice_1.DeviceName",
"SlotID": "<=/PCIeDevice_1.SlotID",
"NodeID": "<=/PCIeDevice_1.SlotID |> string.format('PCIeCard%s',$1)",
"Health": "<=/Component_PCIeCard.Health",
"Name": "Atlas 300I Pro",
"BoardName": "<=/FruData_NPUCard.BoardProductName |> expr($1 == '' ? 'IT21PDDA' : $1)",
"Description": "Atlas 300I Pro Inference Card PCI-E 1*16x (HHHL)",
"FunctionClass": 9,
"VendorID": 6629,
"DeviceID": 54528,
"SubVendorID": 512,
"SubDeviceID": 256,
"Position": "<=/PCIeDevice_1.Position",
"LaneOwner": "<=/PCIeDevice_1.SocketID",
"FirmwareVersion": "#/NPUCard_1.FirmwareVersion",
"Manufacturer": "Huawei",
"PartNumber": "03028DFH",
"MaxFrameLen": 64,
"LinkSpeed": "N/A",
"LinkSpeedCapability": "N/A",
"PcbVersion": "#/NPUCard_1.PcbVersion",
"BoardID": "#/NPUCard_1.BoardID",
"Bus": "<=/PCIeDevice_1.Bus",
"Device": "<=/PCIeDevice_1.Device",
"Function": "<=/PCIeDevice_1.Function",
"DevBus": "<=/PCIeDevice_1.DevBus",
"DevDevice": "<=/PCIeDevice_1.DevDevice",
"SerialNumber": "",
"Model": "Atlas_300I_Pro",
"DevFunction": "<=/PCIeDevice_1.DevFunction",
"CardManufacturer": "Huawei",
"CardModel": "IT21PDDA"
}
}NPU卡配置
json
{
"NPUCard_1":{
"Name": "Atlas 300I Pro Inference Card",
"CardDescription": "Atlas 300I Pro Inference Card PCI-E 1*16x (HHHL)",
"DeviceName": "<=/PCIeDevice_1.DeviceName",
"RefChip":"#/Chip_Dmini",
"LockChip":"#/Chip_Dmini",
"RefEeprom":"#/Chip_Dmini_Elabel",
"RefFrudata": "#/FruData_NPUCard",
"Model": "Atlas_300I_Pro",
"SlotNumber": "${Slot}",
"PcbVersion": ".A",
"BoardID": 171,
"FirmwareVersion": "N/A",
"CardPartNumber": "03028DFH"
}
}🔧 使用指南
配置步骤
- 确定设备类型:根据PCIe卡功能设置FunctionClass
- 设置基本信息:配置Name、Model、DeviceName等基本属性
- 配置槽位信息:设置SlotID和Position等位置信息
- 设置总线信息:配置DevBus、DevDevice、DevFunction等PCIe总线参数
- 关联CPU:设置LaneOwner关联对应的CPU
- 配置链路参数:设置LinkWidthAbility、LinkSpeedCapability等能力参数
- 关联Chip:配置RefChip关联硬件Chip对象
注意事项
- 功能分类:FunctionClass需要根据实际设备功能正确设置
- Chip关联:确保Chip对象已正确定义
- 总线配置:DevBus、DevDevice、DevFunction需要与实际PCIe拓扑对应
- LaneOwner:表示PCIe卡所属的CPU资源,起始值为1
- 链路参数:LinkWidth和LinkSpeed由组件更新机制维护
FunctionClass分类说明
| 值 | 分类 |
|---|---|
| 0 | 未知 |
| 1 | RAID |
| 2 | 网卡 |
| 3 | GPU卡 |
| 4 | 存储卡 |
| 5 | SDI卡 |
| 6 | 加速卡 |
| 7 | 扩展卡 |
| 8 | FPGA卡 |
| 9 | NPU卡 |