PDA

View Full Version : memory errors with fftcomp



hcrisp
11-03-2008, 01:35 PM
I'm getting the following error, and Task Mgr says I have 2.8 GB of memory.

WAVE> x = randomu(s, 200000)
WAVE> sx = fftcomp(x, /complex)
%%%Unable to allocate memory: Unable to continue save/restore operation.

What's funny is this next line does not give me errors:
WAVE> sx = fft(x, -1)

What's up with that? And how do I get around this error so I can make use of FFTCOMP which is a better way of computing the Fourier transform than FFT?

allan
11-03-2008, 02:31 PM
i cannot reproduce the error you reported;
fft() is as good as fftcomp() and it is more general
since it can accommodate arrays of arbitrary dimension;
note though that when using fft(), it is important to use
double precision input to ensure that computations are
done in double precision;

donb
11-03-2008, 02:45 PM
I can't seem to duplicate the issue either. Here's the output from my session:


WAVE> x=randomu(s,200000)
WAVE> @math_startup
PV-WAVE IMSL Mathematics is initialized.
WAVE> r1=fftcomp(double(x), /complex)
WAVE> r2=fft(double(x), -1)
WAVE> info, r1, r2
R1 DOUBLE COMPLEX = Array(200000)
R2 DOUBLE COMPLEX = Array(200000)


What version of PV-WAVE are you running?

hcrisp
11-03-2008, 03:34 PM
VNI informed our company that FFTCOMP was a more robust routine than FFT and doesn't give "imprecise results for some float vectors". We are only taking the Fourier of 1D data.

We are using WAVE 8.00 and this only occurs on one specific computer even after rebooting, so you may not be able to reproduce but it consistently happens.

Appears to be a bug in FFTCOMP since I couldn't even execute this statement:


WAVE> x = randomu(s, 1000)
WAVE> sx = FFTCOMP(x, /complex)
%%%Unable to allocate memory: Unable to continue save/restore operation.

donb
11-03-2008, 06:07 PM
Using PV-WAVE 8.01 on my PC (sorry, don't have 8.00 installed) I still can't duplicate the issue. I tried the example with both the Home Window and the Console Window; same results.


WAVE> @math_startup
PV-WAVE IMSL Mathematics is initialized.
WAVE> x=randomu(s,200000)
WAVE> sx=fftcomp(x,/complex)
WAVE>

Do you have the @math_startup command as part of your wvsetup file? I did notice warning messages if I don't initialize the math routines prior to calling one of those routines.

We understand that you are seeing the reported results. It seems odd that only a single machine displays this behavior. Have you seen other odd occurances on this machine with any other applications?

Don B.