GFT_set_bf - Sets the size of the Blocking Factor to speed up 2D and 3D FFTs on vector processor.
CALL GFT_set_bf(BF=bf, FFT=h, code=ierr)
<IN> bf : Integer. Size of the blocking factor. Default equal 1.
<OUT> h : GFT handel can be typed to one of the following derived data types:
1) GFT_CC : to perform a Complex-Complex FFT and inverse.
2) GFT_RCR : to perform a Real-Complex FFT and inverse.
3) GFT_MRCR: to perform a multiple 1D Real-Complex FFT and inverse.
4) GFT_MCC : to perform a multiple 1D Complex-Complex FFT and inverse.
<OUT> ierr : Optional error code. It will always return 0 in this release.
In this example, we set the size of the Blocking Factor to fit 256 elements of a vector register length.
USE GFT
INTEGER :: n, m, bf
TYPE(GFT_RCR) :: h
...
bf=256
CALL GFT_set_bf(BF=bf, FFT=h)
n=15; m=12
CALL GFT_set_fft(Nx=n, Ny=m, FFT=h)
...Perform the FFT
CALL GFT_end_fft(FFT=h)
...
This routine is useful to speed 2D and 3D FFTs on vector processors.