0
我试图使用CUDA FFT aka cufft库CUDA FFT异常
cufftPlan1d(..)引发异常时发生问题。
#define NX 256
#define BATCH 10
cufftHandle plan;
cufftComplex *data;
cudaMalloc((void**)&data, sizeof(cufftComplex)*NX*BATCH);
if (cudaGetLastError() != cudaSuccess){
fprintf(stderr, "Cuda error: Failed to allocate\n");
return;
}
if (cufftPlan1d(&plan, NX, CUFFT_C2C, BATCH) != CUFFT_SUCCESS){
fprintf(stderr, "CUFFT error: Plan creation failed");
return;
}
当copiler击中cufftPlan1d命令,上VS08输出窗口出现有以下:
first chance expection at 0x75af9617 in CudaFFTProject.exe Microsoft C++ exception: cufftResult_t at memory locatoin 0x002df99c..
帮助,将不胜感激
干杯
这不是一个编译错误,它是一个运行时犯错要么。你的'cudaMalloc'调用看起来很奇怪。什么是'sizeof(cudafftComplex * NX * BATCH)'应该是什么意思?从您的代码和错误消息中的拼写错误中可以看出,您在问题中显示的内容并不是您正在运行的内容,或者您收到的错误。你能改正这个问题吗? – talonmies 2013-03-21 11:58:45
@talonmies,我编辑了这个问题.... – TripleS 2013-03-23 00:22:07
你显示的代码没有错。如果我只在它周围放置一个main()并编译它,它将运行时没有任何错误。所以这个问题是在你的代码中的其他地方(如缓冲区溢出或其他)。你可以将代码编辑成*最短可能的*可编译的例子,它展示了这个问题?否则,我看不出有人能帮助你。 – talonmies 2013-03-23 06:22:56