执行结果总是失败,其中err1 和err2 都是成功,就err3 总是CUFFT_EXE_FAILED,怎么回事呢,可能是哪里出的问题呢?
cufftHandle mPlan_CA;
cufftComplex * wf_Ca;
cufftComplex * d_wf_Ca;
int mFFTSize = 12288;
int size = sizeof(cufftComplex)*mFFTSize;
cudaMallocHost((void**)&wf_Ca,size);
cudaMalloc((void**)&d_wf_Ca, size);
//…wf_Ca赋值,赋值这步我在内存里看了赋值是成功的,wf_Ca中是我想要的值
cudaError_t err1 = cudaMemcpyAsync(d_wf_Ca, wf_Ca, size, cudaMemcpyHostToDevice);
cufftResult err2 = cufftPlan1d(&mPlan_CA,mFFTSize, CUFFT_C2C,1);
cudaThreadSynchronize();
cufftResult err3 = cufftExecC2C(mPlan_CA, (cufftComplex *)(d_wf_Ca),(cufftComplex *)(d_wf_Ca), CUFFT_FORWARD);
谢谢大侠们指点!!