FFT support libraries
Steffen Persvold
sp at scali.no
Thu Jul 26 13:10:03 PDT 2001
Hi,
I'm trying to port a fortran application using SGI FFT functions (complib.sgimath) to
Linux. The only FFT functions that are used are zfft1di and zfft1d. I understand that
these are double complex functions and I've downloaded the double precision fftpack from
netlib.org (dfftpack). However, the dfftpack routines zffti and zfft{f,b} doesn't seem to
match the SGI functions. This is how the application uses the functions :
INTEGER ngp
COMPLEX*16 fftworkspace(ngp+15)
CALL ZFFT1DI(ngp,fftworkspace)
So fa this matches the call to ZFFTI in dfftpack, except that in the dfftpack doc it says
:
subroutine zffti(n,wsave)
input parameter
n the length of the sequence to be transformed
output parameter
wsave a work array which must be dimensioned at least 4*n+15
the same work array can be used for both zfftf and zfftb
as long as n remains unchanged. different wsave arrays
are required for different values of n. the contents of
wsave must not be changed between calls of zfftf or zfftb.
which doesn't seem to match the size of my fftworkspace.
Then the application calls zfft1d :
INTEGER nloc,ngp,i,direction
COMPLEX*16 E_SLICE(ngp,nloc)
* --- Perform 1D Row FFTs -------------------------------
DO i=1,nloc
CALL ZFFT1D(direction,ngp,E_SLICE(1,i),1,fftworkspace)
ENDDO
The dfftpack doc says :
subroutine zfftf(n,c,wsave)
subroutine zfftb(n,c,wsave)
input parameters
n the length of the complex sequence c. the method is
...
c a complex array of length n which contains the sequence
wsave a real work array which must be dimensioned at least 4n+15
....
output parameters
c for j=1,...,n
....
Now, here I guess that the direction parameter to ZFFT1D is just a way to decide wether to
use a forward or a backward FFT, but what is the parameter after E_SLICE ??.
So, is there any _real_ documentation on how the SGI FFT functions work and their
parameters (I've found some man pages but they don't say much) ? Any other libraries I can
try that are directly compatible ??
Any help appreciated.
Thanks,
--
Steffen Persvold Systems Engineer
Email : mailto:sp at scali.no Scali AS (http://www.scali.com)
Tlf : (+47) 22 62 89 50 Olaf Helsets vei 6
Fax : (+47) 22 62 89 51 N-0621 Oslo, Norway
More information about the Beowulf
mailing list