-1
私のコードにFFTWライブラリを使いたい。 float2データ型をfftw_complexにキャストしました。しかし、私は得る:float2 cufftcomplexからfftw_complex
セグメンテーションフォールト
これは私のコードです。 fftw_complexするするfloat2(CUDA)をキャストする方法
test.cu
typedef float2 cplx;
int DoFFT_Operation(cplx* DatafftOneSlice, float* out, int *dim)
{
cout << "DO CPU FFT RSS Operation" << endl;
int xdim = dim[0];
int ydim = dim[1];
cout << "XDIM " << std::to_string(xdim) << " YDIM " << std::to_string(ydim) << endl;
// int slicedim = dim[2];
int bitdim = 1;
// int sizeOneSlice = xdim*ydim*bitdim;
int sizeOneImage = xdim*ydim;
//FFTW PLAN
fftw_plan pfftw;
pfftw = fftw_plan_dft_1d(sizeOneImage, reinterpret_cast<fftw_complex*>(DatafftOneSlice), reinterpret_cast<fftw_complex*>(DatafftOneSlice), FFTW_BACKWARD, FFTW_ESTIMATE);
fftw_execute(pfftw);
// fft_it(DatafftOneSlice, sizeOneImage);
// cplx* input, float* out, int N, int x, int y, int bit
DoSomething(DatafftOneSlice, out, sizeOneImage, xdim, ydim, bitdim);
fftw_destroy_plan(pfftw);
fftw_cleanup();
return 0;
}
?