在 Ubuntu 上使用 NVFlash 更新 Nvidia 显卡 BIOS 是一个相对复杂的过程,需要谨慎操作,因为错误的操作可能会导致显卡无法使用。以下是详细的步骤:
### 准备工作
1. "下载 NVFlash 工具和 BIOS 文件":
- NVFlash 工具可以从 [Nvidia 官方网站](https://www.nvidia.com/) 下载,但通常在 Ubuntu 上需要从第三方源获取。
- BIOS 文件需要从 Nvidia 官方网站或显卡制造商的网站下载与你显卡型号匹配的 BIOS 文件。
2. "安装必要的依赖":
```bash
sudo apt update
sudo apt install build-essential git
```
3. "安装 NVFlash":
- 克隆 NVFlash 仓库并编译安装:
```bash
git clone https://github.com/marcelo1218/nvflash.git
cd nvflash
make
sudo make install
```
### 更新 BIOS
1. "断开显卡电源":
- 在操作之前,确保断开显卡的电源连接,以防止操作过程中发生意外。
2. "进入 BIOS 更新模式":
- 重启计算机并进入 BIOS 设置(通常在开机时按 F2、Del 或其他键)。
- 将显卡设置为 BIOS 更新模式。具体步骤可能因主板和 BIOS 版本而异。
3. "连接
相关内容:
如何给显卡更新升级 BIOS 版本?由于近期组装了一台四卡 V100 SXM2 16G NvLink 的服务器,其中有一张卡的 BIOS 版本与其他三张不同。

nvidia-smi -q | grep "VBIOS Version"
不同 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 通信时可能报错或掉速。
但最主要还是自己的强迫症犯了!必须让它们一样!必须!

如何更新显卡的 BIOS 呢?
这就不得不提 NvFlash 这个工具!
1.下载 NVFlash
进入官网,在菜单栏选择 DOWNLOADS 进入页面,然后选择 Nvidia NVFlash,因为是在 Ubuntu 下使用,选择 Linux 版本。
https://www.techpowerup.com/
下载的是压缩包,解压后可以将文件夹重命名为 nvflash,方便后续命令操作,正常会有四个子文件夹,分别为:aarch64、ppc64、x64、x86,一般使用的是 x64 文件夹里的 nvflash 程序,对应 64 位操作系统。

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

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 --protecton4.重启系统
再次输入:
nvidia-smi -q | grep "VBIOS Version"这样看就舒服多了!


微信扫一扫打赏
支付宝扫一扫打赏