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

标签 c++ cuda

我最近尝试将我的系统从 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 中)

我这里可能配置有误吗?

在从最新的驱动程序降级后,我尝试使用随 4.0 发布的 270 驱动程序进行开发,我认为这可能会导致问题。

感谢任何提示

最佳答案

我将假设(因为您没有指定)您正在运行 Windows(7) 并尝试将 3.2 SDK 示例与 nvcc 3.2 编译器一起使用,但使用支持 4.0 的驱动程序。如果是这样,您应该知道 4.0 版除了一大堆其他功能外,还对内存寻址(即 64 位系统上的统一内存寻址)进行了重大修订。

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

关于c++ - CUDA 运行时错误 4 - 从 CUDA 3.2 更新到 CUDA4 后出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874092/

相关文章:

c++ - Cuda 的 x86 32 位支持

c++ - 当我的程序崩溃时如何自动生成堆栈跟踪

c++ - BOOST_CHECK_EQUAL(和衍生品)添加自定义消息

c++ - g++ 问题 : exception not caught

c++ - 内联函数,它等于 “sizeof expression”,但是返回一个带符号的值

c++ - `cudaEventDestroy` 异步启动返回错误码时如何正确响应?

C++ vector 迭代器错误

memory - CUDA 边界检查器?

linux - 在 Linux 上找到 CUDA 安装

c++ - CUDA - 使用共享内存优化矩阵行计算的平均值