CUDA运行时错误4 - 在从CUDA 3.2更新到CUDA 4后出现

4
我最近试图将我的系统从CUDA 3.2更新到CUDA 4.0。
这个更新不是很顺利。首先,许多SDK示例现在都失败了。matrixMul和FFT问题等都返回错误太大,因此它们无法通过。
我编写的代码似乎也有些问题。我不得不追踪一些以前从未出现过的NaN引起的错误,而且现在也偶尔出现内核启动失败。通常会显示:
cudaSafeCall() Runtime API error 4: unspecified launch failure.

或者

cutilCheckMsg() CUTIL CUDA error : fftshift() execution failed
 : (4) unspecified launch failure.

(fftshift是我的函数,在3.2中从未失败过)

我可能配置错了什么吗?

我尝试使用270驱动程序进行开发,这个驱动程序随4.0版本一起发布,之前我降级了最新的驱动程序,因为我认为它可能会引起问题。

感谢任何提示。


1
你更新了所有东西,包括驱动程序、CUDA工具包、CUDA工具SDK和GPU计算SDK吗? - Brendan Wood
1
仅仅因为内核曾经能够工作,并不意味着它是正确的。有时,编译器或运行时的改变会暴露出代码中的错误。首先,尝试使用cuda-memcheck运行,以确保您没有任何越界或对齐不当的内存访问。如果失败,请在此处发布实际失败的内核。 - harrism
1个回答

1

我假设(因为您没有具体说明)您正在运行Windows(7),并尝试使用nvcc 3.2编译器的3.2 SDK示例,但使用了4.0可用的驱动程序。如果是这样,您应该知道版本4.0在内存寻址方面有一个重大修订(即64位系统上的统一内存寻址),以及许多其他功能。

您需要卸载CUDA 3.2驱动程序、SDK和工具包(彻底清除它们)。然后下载并安装以上所有的4.0版本。新的SDK示例应该可以正常工作,前提是一切都正确安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接