Hello,
I have a problem with mkl FFT. It stops working without a hint for N=2048.
Here is my implementation:
MKL_LONG status; int nThreads = omp_get_num_threads(); int th=0; DFTI_DESCRIPTOR_HANDLE handle = 0; status=DftiCreateDescriptor(&handle, DFTI_SINGLE, DFTI_COMPLEX,1,(MKL_LONG) nChannels); status=DftiSetValue(handle, DFTI_PLACEMENT, DFTI_INPLACE); status=DftiSetValue (handle, DFTI_NUMBER_OF_USER_THREADS, nThreads); status=DftiCommitDescriptor(handle); #pragma omp parallel for shared(nChannels,nThreads, input) private(th) for (th = 0; th < nSpectra; th++) { DftiComputeForward(handle, &input[th*nChannels]); } DftiFreeDescriptor(&handle);
where N=nChannels. It works fine for N=1024 as well as for N=1536. All statuses are zero until DftiComputeForward which stops and will not end.
Thanks.