Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussions

Bad Results from MKL FFT with large inverse FFT

happyIntelCamper
Beginner
770 Views
Go forward with a power of two MKL FFT single precision real to complex.
But do a reverse fft with also a power of two but eight times larger in size, but using a separate descriptor.
Program finishes but results incorrect.

Valgrind gives this:

==27556== Invalid write of size 4
==27556== at 0x9ED7FBF: ipps_initTabBitRevNorm (in /cm/apps-3.3/intel/mkl/10.0.011/lib/em64t/libmkl_def.so)
==27556== by 0x9F4BF28: ipps_initTabTwd_Large_32f (in /cm/apps-3.3/intel/mkl/10.0.011/lib/em64t/libmkl_def.so)
==27556== Address 0x4 is not stack'd, malloc'd or (recently) free'd
==27556==

How does this table get overwritten?
0 Kudos
4 Replies
Vladimir_Petrov__Int
New Contributor III
770 Views
Hello,

The following information could shed some light on this issue:
- what is the dimension of the transform?
- what are the sizes in question?
- how the descriptors were created and what parameters were modified via DftiSetValue?

Best regards,
-Vladimir
0 Kudos
happyIntelCamper
Beginner
770 Views
Hi,

Transform is 1D. Real to complex in place.
Forward size is 4096, and inverse fft is 16384.
DFTI forward
Status = DftiCreateDescriptor(&handle1, DFTI_SINGLE, DFTI_REAL, 1, fftLen1);
DFTI inverse
Status = DftiCreateDescriptor(&handle2, DFTI_SINGLE, DFTI_REAL, 1, fftLen2);
Only set value:
Status = DftiSetValue(&handle2, DFTI_BACKWARD_SCALE, Scale);

The above problem size fails, but 2048 forward and 4 * 2048 inverse works, as well
as 8192 forward and 4 * 8192 inverse also works?

Hello,

The following information could shed some light on this issue:
- what is the dimension of the transform?
- what are the sizes in question?
- how the descriptors were created and what parameters were modified via DftiSetValue?

Best regards,
-Vladimir

0 Kudos
Dmitry_B_Intel
Employee
770 Views

Hi,

It would be nice if you posted a self-contained example that fails as you described. I have not managed to reproduce the problem with the information you have given.

Thanks
Dima
0 Kudos
Gennady_F_Intel
Moderator
770 Views
Hi Jim,

If i am not mistaken, i believe the similar problem was fixed in one of the latest versions.

btw - what's your linking line?

--Gennady



0 Kudos
Reply