[GRASS5] i.fft segemntation fault

Glynn Clements glynn.clements at virgin.net
Thu Jun 10 04:45:45 EDT 2004


Stephan Holl wrote:

> > I tried to use i.fft in GRASS 5.3 (CVS) but only get errors like:
> > 
> > a) Starting FFT...
> > fftw: BUG in executor: invalid plan
> > 
> > b) Starting FFT...
> > Speicherzugriffsfehler (segmentation fault)
> > 
> > Does this module work at all? Is there a special way to use it?
> > I installed fftw RPMs. Is this version broken?
> 
> I can second that behavior described above. (... on debian sarge)
> 
> But I figured out, that reducing the size of a window will make i.fft
> work.
> My original regions, where it segfaults:

> rows:       11923
> cols:       25151

> rows:       5445
> cols:       6519

11923 * 25151 * 16 bytes (2 doubles) = 4798005968

I.e. ~4.8Gb, which is likely to significantly exceed the amount of
available memory (and, on 32-bit platforms, the amount of memory which
can be allocated to a single process, regardless of how much total RAM
or swap is available).

Actually, you would need half as much again (i.e. ~7.2Gb); i.fft reads
the entire map into an array of doubles (8 bytes per cell), but FFTW
needs an array of fftw_complex values (2 doubles, 16 bytes per cell).

More generally, maps that large won't work with anything which needs
to read the entire map into memory (which includes i.fft), unless you
have a 64-bit system and a lot of RAM (swap wouldn't be much use on
something like an FFT calculation).

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-dev mailing list