I have problems with FFT try to run something I get the same error, what can it be?
#define NX 200
#define NY 100
cufftHandle plan;
cufftComplex *data1, *data2;
cudaMalloc((void**)&data1, sizeof(cufftComplex)*NX*NY);
cudaMalloc((void**)&data2, sizeof(cufftComplex)*NX*NY);
/* Create a 2D FFT plan. */
cufftPlan2d(&plan, NX, NY, CUFFT_DATA_C2C);
/* Use the CUFFT plan to transform the signal out of place.
*/
cufftExecute(plan, data1, data2, CUFFT_FORWARD);
/* Inverse transform the signal in place */
cufftExecute(plan, data2, data2, CUFFT_INVERSE);
/* Destroy the CUFFT plan. */
cufftDestroy(plan);
cudaFree(data1); cudaFree(data2);
uda@avalon:~/NVIDIA_GPU_Computing_SDK/C/src/vectoresCuda$ nvcc fft.cu -o fft
fft.cu(21): error: identifier "cufftExecute" is undefined
1 error detected in the compilation of "/tmp/tmpxft_00001d56_00000000-4_fft.cpp1.ii".
The problem is that you’re compiling code that was written for a different version of the cuFFT library than the one you have installed.
Download the documentation for your installed version and see which function you need to call.
It’s probably something like cufftExecC2C instead of cufftExecute.
i’ve a problem , i need use the FFT2 and IFFT2 but always i’ve the same output
undefined reference to cufftPlan2d' and undefined reference to cufftExecC2R’ and
undefined reference to `cufftDestroy’ . Why? the code is this [url=“http://pastebin.com/sbDMZkKy”]http://pastebin.com/sbDMZkKy[/url] i use a manual about 2.3
If you don’t have any idea what an undefined reference is (or are too lazy to google it) I suggest you adapt the simpleCUFFT example in
NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT
It has a makefile that loads the required libraries. I suggest you take a look at the makefile in that directory and the common.mk file in NVIDIA_GPU_Computing_SDK/C/common
before blindly calling nvcc and being surprised that you get a bunch of undefined references.