1

我正在使用 cufft 库。我正在使用cufftPlan2d函数来创建我需要的计划。

cufftResult cuRes = cufftPlan2d(&m_fftPlanC2C, 1024, 1024, CUFFT_C2C);

而且我遇到了这种奇怪的行为,对cufftPlan2d的调用引发了异常,但实际上工作正常,我的cufftHandle已初始化,我对cufftExecC2C的以下调用给了我预期的结果。

RTLab.exe 中 0x000007FFFE9E811C 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x0000000000377C40 处的 cufftResult_t。

然而,得到这个例外是很烦人的,所以我想知道是否有人有同样的问题并找到了解决方案,或者有一些可以提供帮助的线索。我将 Cuda 5.0 与 Visual Studio 2012 一起使用。

我尝试从 SDK 中运行一个示例,即 convolutionFFT2D 示例(在 VS2010 上),它的作用相同(选中了 Debug>Exceptions>C++ Exceptions 选项)。

如果您需要任何进一步的信息,请告诉我。

4

1 回答 1

0

您报告的第一个机会异常是在 CUDA 库中正确触发和捕获并处理的异常。它不一定表示您的应用程序存在问题。

如果您的应用程序运行正常,则可以放心地忽略此问题。如果您从命令行运行应用程序,您将看不到它,仅在 Visual Studio 中。只要您对 cufft API 调用进行 cuda 和/或 cufft 错误检查,并且 api 没有返回错误,一切都应该没问题。

如果您升级到 CUDA 5.5,您可能还会看到此问题消失

于 2013-10-17T14:41:26.320 回答