硬件优化手段
NVIDIA GPU具有很强的计算能力,但同时功耗高,产生的热量多,对服务器的功率和散热有很高的要求。
选择更强的硬件
NVIDIA A100显卡具有多种性能,不同硬件具有不同的功耗限制、显存大小,可根据不同的计算需要选择不同的硬件设备。如果计算时功率过早达到上限,可将功率上限250W的设备更换为300W的硬件设备。
选择PCIE x16插槽
选择PCIe x16的Riser卡相对PCIe x8可获得更大的PCIe带宽。
连接电源线
NVIDIA GPU通过PCIe插槽连接到Riser卡,此外需要连接电源线保证电源供电。
设置服务器功率
由于GPU计算要求功率较高,服务器最好选用2个900W以上电源保证供电,电源模式选择负载均衡。同时在计算时不设置功率封顶,避免影响性能。
调节风扇转速
在风扇选择上,可选择风力更强的风扇来保证散热,同时需要将风扇转速调至最大。
- SSH登录iBMC。
ssh Administrator@IP
- 配置风扇转速手段设置模式。
ipmcset -d fanmode -v 1 0
- 将4组风扇转速均调至100%。
ipmcset -d fanlevel -v 100 2 ipmcset -d fanlevel -v 100 1 ipmcset -d fanlevel -v 100 4 ipmcset -d fanlevel -v 100 3
调节GPU运行模式
nvidia-smi是一个跨平台GPU监控工具,它支持所有标准的NVIDIA驱动程序支持的Linux发行版,提供监控GPU使用情况和更改GPU状态的功能。该工具是显卡驱动附带的,只要安装好驱动后就可以使用。
查询所有GPU的当前信息。
nvidia-smi
常见功能及其解释如表1所示。
指标 |
含义 |
配置方式 |
---|---|---|
Fan |
N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能达不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。 |
参考调节风扇转速调节风扇转速。 |
Temp |
温度,单位摄氏度。 |
无法调节。 |
Perf |
性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。 |
无法调节。 |
Pwr |
代表能耗,代表GPU的实时能耗和最大能耗。 |
无法调节。 |
Persistence-M |
是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是on的状态。 建议开启GPU的持久模式。GPU默认持久模式关闭的时候,GPU如果负载低,会休眠。之后唤起的时候,有一定几率失败。 |
执行以下命令开启持久模式。 nvidia-smi -pm 1 |
Bus-Id |
GPU总线ID,依次代表domain:bus:device.function。 |
无法调节。 |
Disp.A |
Display Active,表示GPU的显示是否初始化。 |
无法调节。 |
Memory Usage |
代表显存使用率。 |
无法调节。 |
GPU Util |
代表浮动的GPU利用率,对应流处理器的利用率。 |
无法调节。 |
ECC |
实现“错误检查和纠正”的技术。 |
|
Compute M |
代表计算模式。 |
切换计算应用模式。 nvidia-smi -c 0/1/2 其中:0代表DEFAULT,1代表EXCLUSIVE_PROCESS,2代表PROHIBITED。 |
最下面区域表示每个进程占用的显存使用率。还有一些指标无法从图形中得出,但是对性能的影响比较大。
- 工作频率设置:nvidia-smi -ac 1215,1410,设定<memory,graphics>时钟为最大。
- 锁频设置:nvidia-smi -lgc 1410,1410,设定<minGpuClock,maxGpuClock>时钟为最大。
- nvidia-smi -q |grep -i vbios确保所有GPU的固件版本一致,否则可能影响性能。
为了实时查看GPU的详细信息,可以使用nvidia-smi dmon命令。
GPU统计信息以一行的滚动格式显示,要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个GPU,如果没有指定任何GPU,则默认监控GPU0-GPU3(GPU索引从0开始)。
常见的附加选项如表2所示。
命令 |
功能 |
---|---|
nvidia-smi dmon -i xxx |
用逗号分隔GPU索引,PCI总线ID或UUID。 |
nvidia-smi dmon -d xxx |
指定刷新时间(默认为1秒)。 |
nvidia-smi dmon -c xxx |
显示指定数目的统计信息并退出。 |
nvidia-smi dmon -s xxx |
指定显示哪些监控指标(默认为puc),其中:
|
nvidia-smi dmon -o D/T |
指定显示的时间格式D:YYYYMMDD,T:HH:MM:SS。 |
nvidia-smi dmon -f xxx |
将查询的信息输出到具体的文件中,不在终端显示。 |
很多情况下设备监控可参考的价值不高,这时就要监控GPU进程,监控命令nvidia-smi pmon,以滚动条形式显示GPU进程状态信息,常用的附件选项如表3所示。
命令 |
功能 |
---|---|
nvidia-smi pmon -i xxx |
用逗号分隔GPU索引,PCI总线ID或UUID。 |
nvidia-smi pmon -d xxx |
指定刷新时间(默认为1秒)。 |
nvidia-smi pmon -c xxx |
显示指定数目的统计信息并退出。 |
nvidia-smi pmon -s xxx |
指定显示哪些监控指标(默认为u),其中:
|
nvidia-smi pmon -o D/T |
指定显示的时间格式D:YYYYMMDD,T:HH:MM:SS。 |
nvidia-smi pmon -f xxx |
将查询的信息输出到具体的文件中,不在终端显示。 |
配置风道及改善散热
散热对GPU性能影响很大,在计算时可将前面板的磁盘拔出,让风扇获得更大的进风量。如果有多张卡,那么在卡槽间均匀配置GPU卡会有一定的性能收益。