User Maual of FFTK

Typical Compilation:

cd fftk/trunk
CXX=mpicxx cmake . -DCMAKE_INSTALL_PREFIX=$HOME/local
make install

CMake supports the following options

-DREAL=FLOAT                                          – It will treats Real as FLOAT
Default: DOUBLE

-DCMAKE_INSTALL_PREFIX        – Installation Folder

-DFIND_LIBRARIES=OFF                 – It will not try fo find Blitz++ and FFTW library
Default: On

-DENABLE_THREAD=TRUE             – Enable OpenMP threads for computing local FFT
Default: FALSE

-DFFTW_PLAN=PATIENT                  – It can be one of ESTIMATE, MEASURE, PATIENT, EXHAUSTIVE
Default: PATIENT

Using FFTK

mpirun -np 4 ./test_fftk basis sincos_option Nx Ny Nz iter [rows]

e.g.

mpirun -np 4 ./test_fftk SSS SCC 32 32 32 10 2

Option Description

basis        – One of FFF, SFF, SSF, SSS.
Here F reprasents Fourier Transform, and
S represents Sinusoidal Transform

basis_option   – It says whether Sicusoidal is Sin or Cos
For basis = FFF, it can only be FFF.
For basis = SFF, it can be SFF or CFF.
For basis = SSF, it can be SSF, SCF, CSF, CCF.
For basis = SSS, it can be SSS, SSC, SCS, SCC, … .

Nx, Ny, Nz       – The grid size. For 2D use Ny = 1

iter                  – Number of pair of transforms to perform

rows              – Number of Rows in a pencil division.
Default:
rows = 1 if numprocs < Nx
rows = numprocs / Nx is numprocs>Nx

For pencil division this assertion must hold:

(Nx%cols == 0) and (Ny%cols == 0) and (Ny%rows == 0) and (Nz%rows == 0)

where cols = numprocs/rows.

Download : Download FFTK library from here

License
—-
GPL