-
Notifications
You must be signed in to change notification settings - Fork 0
ggscorzato/ggfft
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is the README file of the ggfft library This library is a simple parallel FFT library for data distributed on a M-dimensional toroidal network of p_1 x... x p_M processes. It combines a serial N-dimensional (N>M) FFT (serial_multidim_fft), which is a slight modification of the Numerical Recipes function "fourn", together with a generalized transposition (transpose()), that exchange the data with MPI. No HW specific optimization is attempted, neither in the serial FFT step, nor in the transposition. I wrote it because I could not find any reliable FFT for a torus of general dimension M in which N-dimensional (N>M) data are distributed. Compiling the library: edit Makefile if necessary (compilers etc...) make Using the library: The user should declare a plan: gg_plan myplan; and call three routines: gg_init_plan(&myplan,...) for each plan to be used gg_distributed_multidim_fft(&myplan,...), which actually does the FFT gg_destroy_plan(&myplan,...) to free the allocated memory The user should also include the header file "ggfft.h" and link the executable to libggfft.a Limitation: -No optimization on the serial FFT is attempted (it is essentially the fourn routine of Numerical Recipes) -The serial FFT is limited to data lengths of power of 2. -communication in transpose does not really exploit the topology of the torus. -dimension of the data should be larger than the dimension of the torus.
About
Simple parallel FFT library for N-dimensional data distributed on a M-dimensional toroidal network of processes (N>M).
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published