CUDA 会永久损坏 GPU 吗?
Can CUDA permanently damage the GPU?
我还没有进入 GPGPU 编程,所以我不知道 CUDA (OPENCL) 的确切细节,但假设 GPU 处于最佳(冷却良好,......)环境中 - 可以纯 CUDA (OPENCL) 代码永久损坏 GPU? GPGPU 编程系统是否足够强大以从代码中的所有错误中恢复?
我已经看到 this question,但是那个帖子是因为 eponte 有一个特定的问题需要解决而发布的。我问的比较笼统。
非常感谢您的意见。
过去几年在许多用户共享的开发和生产环境中使用 Nvidia Tesla 卡后,由于 "bad programming",这次我没有看到任何 "physically damaged" 卡。因此,根据经验回答第一个问题:我猜想(也是 GTX)是否能够最大 运行 危机。在不着火的情况下,它也应该在高负载的 OpenCL/CUDA 内核中存活下来。是的,正如您从 CPU 了解到的那样,供应商通常会处理热量水平并减少时钟等。然而,系统制造商需要获得认证以确保他们能够处理产生的热量,尤其是在多 GPU 系统中。
当然,过去有一些代码破坏了所有类型的硬件,这当然也可能发生在 GPU 上——但我从来没有读过具体的、代码驱动的案例,尽管它会成为一个有趣的研究问题。
一般来说,GPU 就像任何硅片一样,只要简单地使用它们就可能会损坏。这种情况时有发生,例如,由于晶体管老化或冷却不良导致的过热。我们还更换了使用几年后突然出现故障的 GPU,就像我们更换 CPUs.
一样
由于最初的问题相当广泛,所以再补充一点:今天的 CPUs/GPUs/APUs/... 包含如此多的晶体管,生产过程非常复杂,通常情况下并非芯片的所有组件都是实际可用(参见:PS3/Cell 具有 7/8 个活动通道的处理器;企业与游戏产品等)。我们去年确实遇到过这样的情况,驱动程序更新将一些以前 "working" 的 GPU 渲染成现在产生许多双 ECC 错误的 GPU。该问题已通过其他驱动程序更新再次修复,并且仅影响特定世代早期生产周期的卡。我们推测的一个想法是破坏驱动程序没有正确屏蔽 "unusable" 部分 RAM,这种行为对最终客户来说是透明的。
Is the GPGPU programming system robust enough to recover from all
errors in the code?
我当然可以用否回答这个问题。在开发过程中,我们经常遇到这样的情况,即内核中频繁出现 "brutal" 段错误会使驱动程序崩溃。主机系统的完全重启通常是我们在这种情况下恢复以使该特定 GPU 再次可用的唯一方法。
我还没有进入 GPGPU 编程,所以我不知道 CUDA (OPENCL) 的确切细节,但假设 GPU 处于最佳(冷却良好,......)环境中 - 可以纯 CUDA (OPENCL) 代码永久损坏 GPU? GPGPU 编程系统是否足够强大以从代码中的所有错误中恢复?
我已经看到 this question,但是那个帖子是因为 eponte 有一个特定的问题需要解决而发布的。我问的比较笼统。
非常感谢您的意见。
过去几年在许多用户共享的开发和生产环境中使用 Nvidia Tesla 卡后,由于 "bad programming",这次我没有看到任何 "physically damaged" 卡。因此,根据经验回答第一个问题:我猜想(也是 GTX)是否能够最大 运行 危机。在不着火的情况下,它也应该在高负载的 OpenCL/CUDA 内核中存活下来。是的,正如您从 CPU 了解到的那样,供应商通常会处理热量水平并减少时钟等。然而,系统制造商需要获得认证以确保他们能够处理产生的热量,尤其是在多 GPU 系统中。
当然,过去有一些代码破坏了所有类型的硬件,这当然也可能发生在 GPU 上——但我从来没有读过具体的、代码驱动的案例,尽管它会成为一个有趣的研究问题。
一般来说,GPU 就像任何硅片一样,只要简单地使用它们就可能会损坏。这种情况时有发生,例如,由于晶体管老化或冷却不良导致的过热。我们还更换了使用几年后突然出现故障的 GPU,就像我们更换 CPUs.
一样由于最初的问题相当广泛,所以再补充一点:今天的 CPUs/GPUs/APUs/... 包含如此多的晶体管,生产过程非常复杂,通常情况下并非芯片的所有组件都是实际可用(参见:PS3/Cell 具有 7/8 个活动通道的处理器;企业与游戏产品等)。我们去年确实遇到过这样的情况,驱动程序更新将一些以前 "working" 的 GPU 渲染成现在产生许多双 ECC 错误的 GPU。该问题已通过其他驱动程序更新再次修复,并且仅影响特定世代早期生产周期的卡。我们推测的一个想法是破坏驱动程序没有正确屏蔽 "unusable" 部分 RAM,这种行为对最终客户来说是透明的。
Is the GPGPU programming system robust enough to recover from all errors in the code?
我当然可以用否回答这个问题。在开发过程中,我们经常遇到这样的情况,即内核中频繁出现 "brutal" 段错误会使驱动程序崩溃。主机系统的完全重启通常是我们在这种情况下恢复以使该特定 GPU 再次可用的唯一方法。