FFTE: A Fast Fourier Transform Package


FFTE Package

Description

A package to compute Discrete Fourier Transforms of 1-, 2- and 3- dimensional sequences of length (2^p)*(3^q)*(5^r).

Package

Files

cuzfft1d.f : 1-D complex FFT routine (for NVIDIA GPUs)
cuzfft2d.f : 2-D complex FFT routine (for NVIDIA GPUs)
cuzfft3d.f : 3-D complex FFT routine (for NVIDIA GPUs)
cuztrans.f : Transposition routine (for NVIDIA GPUs)
dzfft2d.f : 2-D real-to-complex FFT routine
dzfft3d.f : 3-D real-to-complex FFT routine
factor.f : Factorization routine
fft235.f : Radix-2,3,4,5 and 8 FFT routine
kernel.f : Radix-2,3,4,5 and 8 FFT kernel routine
mfft235.f : Radix-2,3,4,5 and 8 multiple FFT routine
param.h : Header file for parameters
readme.txt : Readme file
vzfft1d.f : 1-D complex FFT routine (for vector machines)
vzfft2d.f : 2-D complex FFT routine (for vector machines)
vzfft3d.f : 3-D complex FFT routine (for vector machines)
zdfft2d.f : 2-D complex-to-real FFT routine
zdfft3d.f : 3-D complex-to-real FFT routine
zfft1d.f : 1-D complex FFT routine
zfft2d.f : 2-D complex FFT routine
zfft3d.f : 3-D complex FFT routine
tests/ : Test Directory
Makefile : Makefile for test programs
Makefile.cuda : Makefile for test programs (for NVIDIA GPUs)
Makefile.vec : Makefile for test programs (for vector machines)
cuspeed1d.f : Speed test program for zfft1d (for NVIDIA GPUs)
cuspeed2d.f : Speed test program for zfft2d (for NVIDIA GPUs)
cuspeed3d.f : Speed test program for zfft3d (for NVIDIA GPUs)
cutest1d.f : Test program for zfft1d (for NVIDIA GPUs)
cutest2d.f : Test program for zfft2d (for NVIDIA GPUs)
cutest3d.f : Test program for zfft3d (for NVIDIA GPUs)
rspeed2d.f : Speed test program for dzfft2d
rspeed3d.f : Speed test program for dzfft3d
rtest2d.f : Test program for dzfft2d
rtest3d.f : Test program for dzfft3d
speed1d.f : Speed test program for zfft1d
speed2d.f : Speed test program for zfft2d
speed3d.f : Speed test program for zfft3d
test1d.f : Test program for zfft1d
test2d.f : Test program for zfft2d
test3d.f : Test program for zfft3d
mpi/ : MPI version Directory
pcuzfft1d.f : Parallel 1-D complex FFT routine (for NVIDIA GPUs)
pcuzfft2d.f : Parallel 2-D complex FFT routine (for NVIDIA GPUs)
pcuzfft3d.f : Parallel 3-D complex FFT routine (for NVIDIA GPUs)
pcuzfft3dv.f : Parallel 3-D complex FFT routine (with 2-D decomposition, for NVIDIA GPUs)
pdzfft2d.f : Parallel 2-D real-to-complex FFT routine
pdzfft3d.f : Parallel 3-D real-to-complex FFT routine
pdzfft3dv.f : Parallel 3-D real-to-complex FFT routine (with 2-D decomposition)
pfactor.f : Parallel factorization routine
pvzfft1d.f : Parallel 1-D complex FFT routine (for vector machines)
pvzfft2d.f : Parallel 2-D complex FFT routine (for vector machines)
pvzfft3d.f : Parallel 3-D complex FFT routine (for vector machines)
pzdfft2d.f : Parallel 2-D complex-to-real FFT routine
pzdfft3d.f : Parallel 3-D complex-to-real FFT routine
pzdfft3dv.f : Parallel 3-D complex-to-real FFT routine (with 2-D decomposition)
pzfft1d.f : Parallel 1-D complex FFT routine
pzfft2d.f : Parallel 2-D complex FFT routine
pzfft3d.f : Parallel 3-D complex FFT routine
pzfft3dv.f : Parallel 3-D complex FFT routine (with 2-D decomposition)
mpi/tests/ : MPI version Test Directory
Makefile : Makefile for test programs
Makefile.cuda : Makefile for test programs (for NVIDIA GPUs)
Makefile.vec : Makefile for test programs (for vector machines)
pcuspeed1d.f : Speed test program for pzfft1d (for NVIDIA GPUs)
pcuspeed2d.f : Speed test program for pzfft2d (for NVIDIA GPUs)
pcuspeed3d.f : Speed test program for pzfft3d (for NVIDIA GPUs)
pcuspeed3dv.f : Speed test program for pzfft3dv (for NVIDIA GPUs)
pcutest1d.f : Test program for pzfft1d (for NVIDIA GPUs)
pcutest2d.f : Test program for pzfft2d (for NVIDIA GPUs)
pcutest3d.f : Test program for pzfft3d (for NVIDIA GPUs)
pcutest3dv.f : Test program for pzfft3dv (for NVIDIA GPUs)
prspeed2d.f : Speed test program for pdzfft2d
prspeed3d.f : Speed test program for pdzfft3d
prspeed3dv.f : Speed test program for pdzfft3dv
prtest2d.f : Test program for pdzfft2d and pzdfft2d
prtest3d.f : Test program for pdzfft3d and pzdfft3d
prtest3dv.f : Test program for pdzfft3dv and pzdfft3dv
pspeed1d.f : Speed test program for pzfft1d
pspeed2d.f : Speed test program for pzfft2d
pspeed3d.f : Speed test program for pzfft3d
pspeed3dv.f : Speed test program for pzfft3dv
ptest1d.f : Test program for pzfft1d
ptest2d.f : Test program for pzfft2d
ptest3d.f : Test program for pzfft3d
ptest3dv.f : Test program for pzfft3dv

FFTE Package That Incorporates SPIRAL-Generated FFT Kernels

Description

A package to compute Discrete Fourier Transforms of 1-, 2- and 3- dimensional sequences of length (2^p)*(3^q)*(5^r).
FFT kernels are generated by SPIRAL

Package

Files

dzfft2d.f : 2-D real-to-complex FFT routine
dzfft3d.f : 3-D real-to-complex FFT routine
factor.f : Factorization routine
fft235.f : Radix-2,3,4,5,6,8,9,10,12,15 and 16 FFT routine
param.h : Header file for parameters
readme.txt : Readme file
zdfft2d.f : 2-D complex-to-real FFT routine
zdfft3d.f : 3-D complex-to-real FFT routine
zfft1d.f : 1-D complex FFT routine
zfft2d.f : 2-D complex FFT routine
zfft3d.f : 3-D complex FFT routine
spiral/ : FFT kernels generated by SPIRAL Directory
spiral/c/ : C version Directory
dft2c_a.c : Radix-2 FFT kernel
dft2c_b.c : Radix-2 FFT kernel
dft2c_c.c : Radix-2 FFT kernel
dft3c_a.c : Radix-3 FFT kernel
dft3c_b.c : Radix-3 FFT kernel
dft3c_c.c : Radix-3 FFT kernel
dft4c_a.c : Radix-4 FFT kernel
dft4c_b.c : Radix-4 FFT kernel
dft4c_c.c : Radix-4 FFT kernel
dft5c_a.c : Radix-5 FFT kernel
dft5c_b.c : Radix-5 FFT kernel
dft5c_c.c : Radix-5 FFT kernel
dft6c_a.c : Radix-6 FFT kernel
dft6c_b.c : Radix-6 FFT kernel
dft6c_c.c : Radix-6 FFT kernel
dft8c_a.c : Radix-8 FFT kernel
dft8c_b.c : Radix-8 FFT kernel
dft8c_c.c : Radix-8 FFT kernel
dft9c_a.c : Radix-9 FFT kernel
dft9c_b.c : Radix-9 FFT kernel
dft9c_c.c : Radix-9 FFT kernel
dft10c_a.c : Radix-10 FFT kernel
dft10c_b.c : Radix-10 FFT kernel
dft10c_c.c : Radix-10 FFT kernel
dft12c_a.c : Radix-12 FFT kernel
dft12c_b.c : Radix-12 FFT kernel
dft12c_c.c : Radix-12 FFT kernel
dft15c_a.c : Radix-15 FFT kernel
dft15c_b.c : Radix-15 FFT kernel
dft15c_c.c : Radix-15 FFT kernel
dft16c_a.c : Radix-16 FFT kernel
dft16c_b.c : Radix-16 FFT kernel
dft16c_c.c : Radix-16 FFT kernel
spiral/sve/ : Arm SVE version Directory
dft2sve_a.c : Radix-2 FFT kernel
dft2sve_b.c : Radix-2 FFT kernel
dft2sve_c.c : Radix-2 FFT kernel
dft3sve_a.c : Radix-3 FFT kernel
dft3sve_b.c : Radix-3 FFT kernel
dft3sve_c.c : Radix-3 FFT kernel
dft4sve_a.c : Radix-4 FFT kernel
dft4sve_b.c : Radix-4 FFT kernel
dft4sve_c.c : Radix-4 FFT kernel
dft5sve_a.c : Radix-5 FFT kernel
dft5sve_b.c : Radix-5 FFT kernel
dft5sve_c.c : Radix-5 FFT kernel
dft6sve_a.c : Radix-6 FFT kernel
dft6sve_b.c : Radix-6 FFT kernel
dft6sve_c.c : Radix-6 FFT kernel
dft8sve_a.c : Radix-8 FFT kernel
dft8sve_b.c : Radix-8 FFT kernel
dft8sve_c.c : Radix-8 FFT kernel
dft9sve_a.c : Radix-9 FFT kernel
dft9sve_b.c : Radix-9 FFT kernel
dft9sve_c.c : Radix-9 FFT kernel
dft10sve_a.c : Radix-10 FFT kernel
dft10sve_b.c : Radix-10 FFT kernel
dft10sve_c.c : Radix-10 FFT kernel
dft12sve_a.c : Radix-12 FFT kernel
dft12sve_b.c : Radix-12 FFT kernel
dft12sve_c.c : Radix-12 FFT kernel
dft15sve_a.c : Radix-15 FFT kernel
dft15sve_b.c : Radix-15 FFT kernel
dft15sve_c.c : Radix-15 FFT kernel
dft16sve_a.c : Radix-16 FFT kernel
dft16sve_b.c : Radix-16 FFT kernel
dft16sve_c.c : Radix-16 FFT kernel
tests/ : Test Directory
Makefile : Makefile for test programs
Makefile.sve : Makefile for test programs (for Arm SVE)
rspeed2d.f : Speed test program for dzfft2d
rspeed3d.f : Speed test program for dzfft3d
rtest2d.f : Test program for dzfft2d
rtest3d.f : Test program for dzfft3d
speed1d.f : Speed test program for zfft1d
speed2d.f : Speed test program for zfft2d
speed3d.f : Speed test program for zfft3d
test1d.f : Test program for zfft1d
test2d.f : Test program for zfft2d
test3d.f : Test program for zfft3d
mpi/ : MPI version Directory
pdzfft2d.f : Parallel 2-D real-to-complex FFT routine
pdzfft3d.f : Parallel 3-D real-to-complex FFT routine
pdzfft3dv.f : Parallel 3-D real-to-complex FFT routine (with 2-D decomposition)
pfactor.f : Parallel factorization routine
pzdfft2d.f : Parallel 2-D complex-to-real FFT routine
pzdfft3d.f : Parallel 3-D complex-to-real FFT routine
pzdfft3dv.f : Parallel 3-D complex-to-real FFT routine (with 2-D decomposition)
pzfft1d.f : Parallel 1-D complex FFT routine
pzfft2d.f : Parallel 2-D complex FFT routine
pzfft3d.f : Parallel 3-D complex FFT routine
pzfft3dv.f : Parallel 3-D complex FFT routine (with 2-D decomposition)
mpi/tests/ : MPI version Test Directory
Makefile : Makefile for test programs
Makefile.sve : Makefile for test programs (for Arm SVE)
prspeed2d.f : Speed test program for pdzfft2d
prspeed3d.f : Speed test program for pdzfft3d
prspeed3dv.f : Speed test program for pdzfft3dv
prtest2d.f : Test program for pdzfft2d and pzdfft2d
prtest3d.f : Test program for pdzfft3d and pzdfft3d
prtest3dv.f : Test program for pdzfft3dv and pzdfft3dv
pspeed1d.f : Speed test program for pzfft1d
pspeed2d.f : Speed test program for pzfft2d
pspeed3d.f : Speed test program for pzfft3d
pspeed3dv.f : Speed test program for pzfft3dv
ptest1d.f : Test program for pzfft1d
ptest2d.f : Test program for pzfft2d
ptest3d.f : Test program for pzfft3d
ptest3dv.f : Test program for pzfft3dv

Extended Split-Radix FFT

Description

This is a Fortran program of a DIF extended split-radix FFT.

File


License

Copyright(C) 2000-2004,2008-2014,2020 Daisuke Takahashi (e-mail: daisuke[at]cs.tsukuba.ac.jp or ffte[at]ffte.jp)

You may use, copy, modify this code for any purpose (include commercial use) and without fee. You may distribute this ORIGINAL package.