Diiferent FFT output (64 bit and 32 bit IPP library): ippsFFTFwd_CToC_32f/ippsFFTInitAlloc_C_32f

Diiferent FFT output (64 bit and 32 bit IPP library): ippsFFTFwd_CToC_32f/ippsFFTInitAlloc_C_32f

Hi,

I am using IPP FFT functions in my application The application is developed on Win 7 64 bit platform. I am using MS development enviorment ( Visual Studio 2008). I am using IPP library 7.0Update 6. Initally the application was developed for Win32 mode. Later upgradeditfor 64 bit platfrom.Whileanalysing some test results for application found that the 64 bit and32 bit results mismatch. On futher investgation found that the output from the FFt function are different.The IPP function used are

ippsFFTInitAlloc_C_32f : for initalising the twidle factors and FFT specification.
(ippsFFTInitAlloc_C_32f(&twiddles.spec, order, IPP_FFT_DIV_INV_BY_N, ippAlgHintAccurate);)
ippsFFTFwd_CToC_32f : computing the FFT.
(

ippsFFTFwd_CToC_32f(real_in,

imag_in,

real_out,

imag_out,

static_cast(spec)->spec,

buffer)

)

I am attaching the Input and output of FFT function result for 32 bit and 64 bit version.

Is there any way to look at the twiddle factor genrated by ippsFFTInitAlloc_C_32f
Is the difference in FFT output for 64 and 32 bit is a known thing or there something wrong.Kindly let me know the potentail things to look-in.

Regards

Rohit

AttachmentSize
Downloadapplication/zip 32.zip21.56 KB
Downloadapplication/zip 64.zip21.59 KB
8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I cannot see attachment into this thread

Hi,

the uploaded files are seen in private files folder part of my account. I am not sure how to make it public. I have uploaded the file at
http://www.sendspace.com/file/t9a5n7

Kindly use this link to get the results. Will appreciate your help

Regards
Rohit

see here the article how to attach file to forum -http://software.intel.com/en-us/forums/showthread.php?t=62285

HI,

I have uploaded the FFT input an 32/64 bit dll output. Kindly have a look and let me know if its expected behaviour.

I am using

Intel i7Processor
Win 7 os
IPP version 7.0 Update 6.
Vs2008.

I have used IPP init(IppStatus ippInit(void));). The 32 bit and 64 bit both version of application was run ons ame platform(Intel i7 Processor/win 7 OS).

Kindly let me know if the behaviour is correct i.e you tend to have different results for 64 and 32 IPP library running on same platfrom.

Regards
Rohit

Hi Intel Folks,

Kindly let me know your veiw about the FFT results.

Regards
Rohit

Hello Rohit,But
are you expect to have the identical results for both of these cases?what I can see here is the expected results.

I
looked the RealOut results you received.

Here
two first numbers from RealOut files

32
bit 64
bit

9.64449951e-004
9.64449951e-004

As
you can see the
difference in the results to be within the accuracy of floating-point ( which isFLT_EPSILON - see float.h )which you use.

regards, Gennady

Hi,

Its true that the results is within the accuracy of floating-point.
I was trying to understand the difference in results. Is the FFT calculated in 64 bit and 32 bit differntly? I mean the floating point computation are done in different precision in 32 bit and 64 bit lib.

I was expecting bit exact results.

If this is the expected behavouri.e.the 64 bitlib and 32bit liboutputs are NOT BIT EXACT.

Regards
Rohit

Leave a Comment

Please sign in to add a comment. Not a member? Join today