C++ CUDA FFT异常

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,

我想用CUDA库

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;
   }
当编译器点击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()并编译它,它将在没有任何错误的情况下运行。所以问题出在代码的其他地方(比如缓冲区溢出之类的)。你能把代码编辑成显示问题的最短可编译示例吗?否则我看不出有谁能帮你。