NVIDIA 5090GPU适配经验分享
1.实际结论
经过完整适配以及对结果分析,5090不支持通过NVIDIA SMbus Post-Box协议获取GPU卡温度/功耗/部件编码/序列号/固件版本等信息;
对于5090 GPU 温度信息可以通过读取直接寄存器来实现
2.操作环境
-
软件版本:[ OpenUBMC 2512]
-
整机系统:已知可用redhat-8.10 \ openEuler-22.03-SP4
-
在系统上安装NVIDIA 对应的GPU驱动与CUDA版本并且安装
3.component_drivers组件配置步骤
该组件下具体代码内容均参考Tesla T4
1.在drivers/pcie_gpu_card/nvidia/csr/目录下创建dds和sr文件:
2.在../nvidia/目录下创建文件夹nv_5090,文件夹下目录如图示:
3.在../nvidia/meson.build文件下面添加subdir(‘nv_5090’)
4.在mds/service.json文件里面修改version版本
5.上述完成后便可进行组件编译记录编译后的生成的组件版本
4.manifest组件配置
1.在build/product/BMC/openUBMC/rootfs/include/profile.txt目录下添加sr文件
2.在build/subsys/rc/framework.yml和build/subsys/stable/framework.yml文件里面将component_drivers组件的版本修改成之前编译的版本
3.修改完成后即可进行编译与升级
5.实际结果
通过对比NVIDIA TESLA T4发现NVIDIA 5090GPU卡无法获取部件编码、序列号、固件版本、GPU卡温度,GPU功耗
6.问题定位
通过beagle抓包工具对NVIDIA 5090GPU进行抓包,数据如下:
对比Tesla T4数据:
得出结论:NVIDIA 5090不支持NVIDIA SMbus Post-Box协议获取GPU卡温度/功耗/部件编码/序列号/固件版本等信息。
7.利用直接寄存器读取温度
1.在不加压的情况下,web端温度数据与nvidia-smi命令查询温度差值不超过5℃:
2.在加压十分钟的情况下,web端温度数据与nvidia-smi命令查询温度差值不超过5℃:











