有哪些硬件问题可能会导致深度学习运行异常?

Viewed 40

不同的硬件问题和对应的异常表现,以及如何去诊断。

2 Answers

CPU、主板和GPU的PCIe匹配问题

深度学习任务虽然主要依赖 GPU 计算,但 GPU 并不是独立工作的。模型输入、输出数据、中间数据,以及CPU内存和显存之间的数据交换,都需要经过PCIe总线。如果 CPU、主板和GPU的PCIe规格不匹配,或者显卡没有运行在预期的 PCIe 速度和通道数上,就可能导致深度学习运行异常。

一、常见的异常表现:

• GPU利用率偏低,程序运行缓慢,电脑卡顿
• Bus Interface负载很高,甚至接近100%
• 较新代数显卡插在老平台上,GPU运行时速度异常

二、推荐排查顺序:

1,先确认驱动和CUDA环境是否正常

首先排除软件环境问题。需要确认NVIDIA驱动、CUDA、TensorRT、ONNX RUNTime等或对应的推理框架版本是否满足能发挥当前显卡最佳性能的要求。

2,使用GPU-Z查看显卡的实际运行状态

确认软件环境正常后,可以使用GPU-Z查看显卡当前状态;请保持GPU-Z为较新版本,避免新显卡传感器读数异常;GPU-Z下载地址:https://www.techpowerup.com/gpuz/
image.png
如上图所示,首先可以在Sensors页面重点看以下几项:
• GPU Loda: 判断GPU是否真正参与计算;
• Memory Used:判断显存是否接近上限;
• GPU Temperature:判断是否存在温度过高或散热问题;
• Bus Interface Load:判断 CPU与GPU之间的数据传输是否异常繁忙。
例如,GPU核心满载温度通常在60~80℃较为常见;持续达到80~85℃时应关注散热情况,长期超过 85℃或出现频率下降、性能降低时,需要检查现场环境温度、机箱风道、风扇转速、积灰和散热器接触情况,具体温度上限应以显卡型号的官方规格为准;假设是Bus Interface Load过高,优先考虑当前CPU和GPU性能不匹配,这时可以切换到Graphics Card页面,如下图所示:
image.png
重点查看Bus Interface, 例如PCIe x16 3.0 @ x16 1.1,前半部分表示显卡能力,即显卡本身最高支持PCIe x16 3.0,后半部分表示当前实际运行状态,即当前实际运行在PCIe x16 1.1;显卡空闲时PCIe可能会自动降速,因此可以点击Bus Interface右侧的“?”运行Render Test,再观察“@”后的状态。

3,如果PCIe状态低于预期,检查CPU和主板的规格

如果GPU-Z显示的实际运行状态明显低于显卡理论规格,例如显卡支持PCIe 5.0,但实际只运行在 PCIe 3.0,就需要进一步检查CPU和主板是否限制了PCIe速度。
• 查当前GPU支持的PCIe规格:可以去英伟达官网或者显卡厂商官网找到对应的型号进行查询;
• 查当前CPU支持的PCIe规格以及查主板显卡插槽规格:可以去主板厂商官网找到对应的型号进行查询或者进入BIOS进行查询;确认第一条显卡槽支持Gen3、Gen4还是Gen5,以及实际是x16、x8还是x4。
注意:如果CPU或主板只支持PCIe 3.0,那么PCIe 5.0显卡也只能按PCIe 3.0运行。这属于平台限制,不是显卡故障。

4,检查显卡插槽和连接方式

如果CPU和主板理论上支持更高PCIe规格,但GPU-Z仍然显示速度异常,需要检查显卡安装位置和连接方式,即显卡是否安装在了正确的位置。

5,检查BIOS设置

如果硬件规格和安装没有问题,还需要检查BIOS中的PCIe设置。相关选项可能叫PCIe Link Speed、PCIEX16 Link Speed、PEG Link Speed或PCIe Slot Configuration。
一般建议设置为Auto / Gen4 / Gen5。若BIOS被手动锁定为Gen3,即使显卡和主板支持更高规格,也只能运行在PCIe 3.0。

三、核心结论:

CPU、主板和GPU的PCIe 匹配问题,核心不是看显卡能不能点亮,而是看显卡是否运行在符合当前 CPU / 主板平台能力的 PCIe 状态。
例如RTX 5060最高支持PCIe 5.0 x8。如果插在10代CPU或PCIe 3.0主板上,实际运行在PCIe 3.0 x8 是正常的平台限制,这时就需要升级主板;但如果插在支持PCIe 4.0 / 5.0 的平台上仍然只跑 PCIe 3.0,就需要进一步检查插槽、BIOS、转接线和主板通道分配。

关于PCIe

PCIe长度

标准的PCIe插槽的长度由x1,x2,x4,x8。通过下图可以直观地从主板上看到不同长度的PCIe插槽。
image.png
可以粗略地通过观察主板确认当前支持地PCIe长度,但是需要注意有些情况下长度为x8的插槽,实际上可能只有x4插槽的电器信号。这种情况需要通过GPU-Z来进行诊断。

PCIe版本

PCIe不同版本的传输速度可见下表
image.png
可以看到即使相同长度的插槽如果版本不同传输数据的效率也有显著的差异。因此选择显卡的时候一定要注意当前主板所提供的插槽版本和size。

图片引用自https://www.microcontrollertips.com/how-many-pcie-card-sizes-exist-today-and-where-are-they-used/

Related