服务器设置了两张NVIDIA K20m
卡,但启用了ECC
。我观察到Volatile GPU-Utilization
使用nvidia-smi -a
命令很高,即使卡中没有运行任何计算任务。 K20m
仅用于计算。我在Google
进行了搜索,并检查了以下链接:https://devtalk.nvidia.com/default/topic/539632/k20-with-high-utilization-but-no-compute-processes-/和https://devtalk.nvidia.com/default/topic/464744/how-to-disable-enable-ecc-on-c2050-/
似乎ECC
始终是一个糟糕的功能,因此始终设置为disabled
。那么ECC
的真正含义是什么呢?我只是该服务器的commont用户,因此我无权使用nvidia-smi -e 0
命令将ECC
设置为禁用。普通用户是否可以将ECC
设置为禁用?
当我们关闭ECC
时有什么影响?我们什么时候打开它?何时关闭?
答案 0 :(得分:7)
即使没有其他计算任务正在运行,运行nvidia-smi
时GPU利用率也可能变为非零。这与ECC无关。
那么ECC的真正含义是什么?
ECC是Error Correcting Code。它不是GPU独有的。在GPU上,它是一种使用额外内存位来存储错误信息的功能,因此,如果内存子系统中发生错误(特别严重),则可以检测并报告,检测和纠正错误信息。
普通用户是否可以将ECC设置为禁用?
禁用ECC需要root权限。
关闭ECC会有什么影响?
GPU应用程序可用的可用带宽和内存大小可能会增加。如果关闭ECC并发生内存子系统错误,则不会收到任何明确的通知。根据错误发生的背景,错误可能会产生任何影响范围,从完全没有影响到完全的应用程序崩溃。
我们什么时候打开它?何时关闭?
当您想要防止内存损坏错误时将其打开。如果您想获得最高性能(例如用于基准测试),或者您认为您的应用程序可以容忍内存错误(例如,您检查结果的有效性,并且您不介意重新运行因某些原因失败的应用程序),请将其关闭。 )