4

我有一个运行 Ubuntu 12.04 服务器的无头工作站,最近安装了新的 Tesla C2070 卡,但是从 CUDA SDK 运行示例时,我收到以下错误:

NVIDIA_GPU_Computing_SDK/C/bin/linux/release% ./reduction 
[reduction] starting...

Using Device 0: Tesla C2070

Reducing array of type int

16777216 elements
256 threads (max)
64 blocks

reduction.cpp(473) : cudaSafeCallNoSync() Runtime API error 39 : uncorrectable ECC error encountered.

实际上,除了“deviceQuery”之外的所有其他示例都会发生此错误。

我正在使用内核 3.2.0、nvidia 驱动程序 295.41 和 Cuda 4.2.9。

经过大量搜索后,找到了禁用 ecc 支持的建议:

   nvidia-smi -g 0 --ecc-config=0

这有效。但问题是禁用 ecc 支持的 GPU 计算的可靠性如何?

任何意见、建议或解决方案将不胜感激。

-康斯坦丁

4

4 回答 4

3

我想知道这是否可能是某种兼容性问题,而不是一张坏卡。我在使用相同的 Ubuntu 版本的 Tesla C2075 时遇到了同样的问题。我们联系了 nVidia,他们告诉我们双位 ECC 错误(如在 linux 中使用 nvidia-smi -q 所见)意味着该卡可能已损坏。我们得到了一个替代品,但它有完全相同的问题。

我的两块板似乎不太可能以相同的方式损坏,所以如果我们能找到合适的,我们将在另一台机器上尝试它。

我会发布我们学到的任何有趣的东西。

于 2012-10-02T16:17:35.273 回答
1

我将回应 aland 所说的并添加我自己的经验。

我使用了许多配备 Fermi 的计算集群,并在 ECC 开启和关闭的情况下对它们进行了可变测试。我们这样做是为了增加可用内存量和计算速度,这是显而易见的。nvidia-smi 从来没有报告任何 ECC 卡的 ECC 错误,我们也没有遇到任何表明 ECC 相关问题的运行时错误。

如果您的卡检测到无法纠正的 ECC 问题,则表明硬件存在缺陷,关闭 ECC 只会掩盖问题。运行时正确地警告您出现了错误,您不能依赖结果。

无论如何,您都可以尝试运行您的计算,看看会发生什么,但要为任何没有真正原因的绝对疯狂的事情做好准备。例如,此处或此处翻转的单个位可能会对浮点数学产生巨大影响,并且如果指令损坏,可能会使您的内核彻底崩溃。

如果可以的话,我会尝试更换卡,而不是掩盖症状。

于 2012-09-06T22:23:03.090 回答
1

原来我的情况和carthurs的情况一样。我也换了卡,但错误并没有消失。只有在 BIOS 中将主板的板载 VGA 设置为主要后,它才会消失。特斯拉安装手册中应该有这方面的警告!

谢谢大家的帮助。

于 2012-11-02T07:02:54.857 回答
0

一旦发生 GPU 无法纠正的 ECC 错误,GPU 可能处于不稳定状态(例如,数据损坏不仅可能发生在用户分配的内存中,而且可能发生在 GPU 操作所需的内存区域中)。要恢复 GPU,您需要重启/重新启动系统或尝试使用 GPU Reset fromnvidia-smi

nvidia-smi -h
...
-r    --gpu-reset           Trigger secondary bus reset of the GPU.
                            Can be used to reset GPU HW state in situations
                            that would otherwise require a machine reboot.
                            Typically useful if a double bit ECC error has
                            occurred.
                            --id= switch is mandatory for this switch

键入man nvidia-smi以获取有关该主题的更多帮助

于 2012-09-20T14:02:46.583 回答