GPU卡适配指南
更新时间: 2025/08/18
在Gitcode上查看源码

概述

GPU(Graphic Process Unit)是专门为图形处理设计的处理器。GPU是GPU卡的核心部件。GPU卡也可称为显卡,是计算机的基本组成部分之一。

接口定义

以下是GPU类主要的interface包含关系

"path": "/bmc/kepler/Systems/:SystemId/Processors/GPU/:ID",
"interfaces": [
    "bmc.kepler.Systems.Processor",            -- 描述通用处理器的接口
    "bmc.kepler.Systems.Processor.GPU",        -- 描述GPU特有功能的接口
    "bmc.kepler.Systems.Processor.GPU.Status", -- 描述GPU供电功能的接口
    "bmc.kepler.Systems.Processor.GPU.Power",  -- 描述GPU状态的接口
    ...
]

bmc.kepler.Systems.Processor

属性说明建议实现方式
ProcessorType处理器类型对于GPU,在CSR配置为"2"
SystemId处理器所在系统Id默认值1,在CSR配置
Id处理器Id默认值1,在CSR配置
Name名称根据需求在CSR配置
Presence在位默认值1,在CSR配置
InstructionSet指令集当前未应用,推荐在CSR配置
Architecture芯片架构当前未应用,推荐在CSR配置
Manufacturer厂商根据需求在CSR配置
Family家族当前未应用,推荐在CSR配置
Model型号根据需求在CSR配置
PartNumber部件号一般需要通过GPU带外管理协议获取。注意这是处理器的部件号,不是GPU卡的。
SN序列号一般需要通过GPU带外管理协议获取
FirmwareVersion固件版本一般需要通过GPU带外管理协议获取
SocketDesignation槽位默认值"1",在CSR配置
Position位置配成PCIe Riser${Slot}
ThermalTrip过热保护状态GPU不涉及
Health健康状态关联Component_PCIeCard的Health属性
Replaceable是否可以作为独立的部件进行替换对于GPU已在model.json配置默认值为true

bmc.kepler.Systems.Processor.GPU

属性说明建议实现方式
InfoRomVersionInfoRom版本属性源于NVIDIA的GPU,若不涉及可不实现
Slot槽位号同步PCIeDevice_1的SlotID属性
VendorID厂商ID根据需求在CSR配置
DeviceID设备ID根据需求在CSR配置
SubVendorID子厂商ID根据需求在CSR配置
SubDeviceID子设备ID根据需求在CSR配置
GPUUtilizationGPU利用率属性源于NVIDIA的GPU,若不涉及可不实现
MemoryUtilization内存利用率属性源于NVIDIA的GPU,若不涉及可不实现
BoardPartNumber单板部件号属性源于NVIDIA的GPU,若不涉及可不实现
MemoryVendor内存厂商属性源于NVIDIA的GPU,若不涉及可不实现
MemoryPartNumber内存部件号属性源于NVIDIA的GPU,若不涉及可不实现
BuildDate构建日期属性源于NVIDIA的GPU,若不涉及可不实现
UUID通用唯一标识符属性源于NVIDIA的GPU,若不涉及可不实现
PrimaryGPUTemperatureCelsius主处理器温度属性源于NVIDIA的GPU,若不涉及可不实现

bmc.kepler.Systems.Processor.GPU.Status

属性说明建议实现方式
ECCModeEnabledECC模式当前使能状态属性源于NVIDIA的GPU,若不涉及可不实现
ECCModePendingEnabledECC模式重启后使能状态属性源于NVIDIA的GPU,若不涉及可不实现
ResetRequired是否需要重启属性源于NVIDIA的GPU,若不涉及可不实现
DoubleBitErrorPageCount双bit失效故障页个数属性源于NVIDIA的GPU,若不涉及可不实现
SingleBitErrorPageCount单bit失效故障页个数属性源于NVIDIA的GPU,若不涉及可不实现
NvLinkInfoNvLink信息属性源于NVIDIA的GPU,若不涉及可不实现

bmc.kepler.Systems.Processor.GPU.Power

属性说明建议实现方式
PowerWatts功率属性源于NVIDIA的GPU,若不涉及可不实现
PowerBrakeSetpower brake状态属性源于NVIDIA的GPU,若不涉及可不实现
ExternalPowerSufficient外部供电是否充足属性源于NVIDIA的GPU,若不涉及可不实现

协议实现

从资源协作接口的定义可以看到,实际上若非NVIDIA的GPU,需要适配的功能点实际上很少

NVIDIA的GPU

  • NVIDIA的GPU支持自定义的带外管理协议,即SMBus Post Box Interface(SMBPBI)。当前openUBMC已支持,新增NVIDIA的GPU时,理论上只需增加配置文件即可。详情可参考general_hardware仓的Tesla_T4.lua
  • 注意CSR配置的Model字段要与配置文件名称相匹配

非NVIDIA的GPU

  • 除在CSR配死的字段外,重点应当关注温度、功耗、序列号、固件版本、部件号。温度、功耗影响整机散热策略设计,序列号、固件版本、部件号影响部件资产管理
  • 如果需要实现新的带外管理协议,需要修改general_hardware组件代码,注意避免执行NVIDIA GPU的代码流程