C++ CUDA FFT异常
我想用CUDA库 cufftPlan1d(..)引发异常时出现问题C++ CUDA FFT异常,c++,cuda,gpgpu,gpu,C++,Cuda,Gpgpu,Gpu,我想用CUDA库 cufftPlan1d(..)引发异常时出现问题 #define NX 256 #define BATCH 10 cufftHandle plan; cufftComplex *data; cudaMalloc((void**)&data, sizeof(cufftComplex)*NX*BATCH); if (cudaGetLastError() != cudaSuccess){ fprintf(stderr,
#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;
}
当编译器点击cufftPlan1d命令时,VS08上的输出窗口将显示以下内容:
first chance expection at 0x75af9617 in CudaFFTProject.exe Microsoft C++ exception: cufftResult_t at memory location 0x002df99c..
错误源于包含文件和链接器输入文件中的混乱(不确定是哪一个) 我的个人电脑包括cuda toolkit 4.2和cuda toolkit 5安装 在VS08中,项目属性: 其他包括:
使用
“$(CUDA\u路径\u V4\u 2)\include”
而不是
$(CUDA_INC_PATH)
链接器-->附加库目录-->使用
“(CUDA\u路径\u V4\u 2)\lib\win32”
这不是编译错误,而是运行时错误。你的
cudamaloc
电话看起来很奇怪。sizeof(cudafftComplex*NX*BATCH)
应该是什么意思?从您的代码和错误消息中的拼写错误来看,您在问题中显示的内容似乎不是您正在运行的内容,也不是您所遇到的错误。你能纠正这个问题吗?@Talonmes,我编辑了这个问题……你显示的代码没有问题。如果我只是在它周围放一个main()并编译它,它将在没有任何错误的情况下运行。所以问题出在代码的其他地方(比如缓冲区溢出之类的)。你能把代码编辑成显示问题的最短可编译示例吗?否则我看不出有谁能帮你。