Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

如何给显卡更新升级 BIOS 版本?由于近期组装了一台四卡 V100 SXM2 16G NvLink 的服务器,其中有一张卡的 BIOS 版本与其他三张不同。

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

nvidia-smi -q | grep "VBIOS Version"

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

不同 BIOS 版本的有什么影响?

NVLink 通道稳定性

新版本可能改善某些 NVLink 信号在特定主板/电源/散热条件下的不稳定或掉链现象。

功耗/电压/频率调节

BIOS 更新有可能改变 GPU 内部电源调节(Voltage
Regulator/Thermal/Power-Boost 等),以便在更高温度、更差环境下保持稳定。

兼容性改善

列如与特定服务器型号(Dell、Supermicro 等)或某些版本的主板固件(BIOS of the server motherboard)之间的兼容性问题,可能由于插槽、I/O 路径、冷却方式不同导致的启动/识别问题。

散热/热速降行为

BIOS 更新也可能调整热控阈值(Temperature Thermal Throttling behavior),在散热不理想或风扇曲线不合适的时候表现不同。

错误修复

例如某些旧 BIOS 在开启 GPU-监控、长时间满载、或切换频率 (Boost/Throttle) 时可能出现某些 Bug(死机、性能掉落、NVLink 不稳定等),新 BIOS 可能修复这些。

所以一般提议所有 SXM2 GPU 的 VBIOS 版本保持一致,否则在深度学习框架里(如 NCCL、Horovod)进行多 GPU 通信时可能报错或掉速。

最主要还是自己的强迫症犯了!必须让它们一样!必须!

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

如何更新显卡的 BIOS 呢?

这就不得不提 NvFlash 这个工具!

1.下载 NVFlash

进入官网,在菜单栏选择 DOWNLOADS 进入页面,然后选择 Nvidia NVFlash,由于是在 Ubuntu 下使用,选择 Linux 版本。

https://www.techpowerup.com/

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

下载的是压缩包,解压后可以将文件夹重命名为 nvflash,方便后续命令操作,正常会有四个子文件夹,分别为:aarch64、ppc64、x64、x86,一般使用的是 x64 文件夹里的 nvflash 程序,对应 64 位操作系统。

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

2.下载 BIOS 文件

在菜单栏选择 DATABASES -> VGA BIOS COLLECTION 进入页面,通过搜索就可以找到对应显卡的各种 BIOS 文件,下载后也是压缩包,解压后会得到一个 .rom 的文件,将这个文件移动到上面 nvflash/x64 的文件夹中,方便后续的命令操作。

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

3.执行更新 BIOS

# 进入文件夹
cd nvflash/x64

# 调整权限
sudo chmod +x ./nvflash

# 查看单个显卡信息,通过查看每个卡的 BIOS 版本,确认 index 的值,查第二张卡,index 值为 1,以此类推。
sudo ./nvflash --index=0 --version

# 备份当前 BIOS 文件
sudo ./nvflash --index=0 --save backup.rom

# 关闭写入保护
sudo ./nvflash --index=0 --protectoff

# 指定 BIOS 文件更新
sudo ./nvflash --index=0 273184.rom

# 查看是否更新成功
sudo ./nvflash --index=0 --version

#开启写入保护
sudo ./nvflash --index=0 --protecton

4.重启系统

再次输入:

nvidia-smi -q | grep "VBIOS Version"

这样看就舒服多了!

Ubuntu 使用 NVFlash 更新 Nvidia 显卡 BIOS

© 版权声明

相关文章

暂无评论

none
暂无评论...