SpFFT: 3D FFT library for sparse frequency domain data
Overview of package
| Package: | SpFFT |
|---|---|
| Description: | 3D FFT library for sparse frequency domain data |
| For more information: | https://github.com/eth-cscs/SpFFT |
| Categories: | NumericalMethods |
| License: | OpenSource (BSD 3-clause) |
General Usage
SpFFT (Sparse Parallel FFT) is a 3D Fast Fourier Transform library for sparse frequency domain data written in C++ with support for MPI, OpenMP, CUDA and ROCm.
Inspired by the need of some computational material science applications with spherical cutoff data in frequency domain, SpFFT provides Fast Fourier Transformations of sparse frequency domain data. For distributed computations with MPI, slab decomposition in space domain and pencil decomposition in frequency domain (sparse data within a pencil / column must be on one rank) is used.
The following environmental variables have been defined:
- $SPFFT_ROOT has been set to the root of the spfft installation
- $SPFFT_LIBDIR points to the directory containing the libraries
- $SPFFT_INCDIR points to the directory containing the header files
You will probably wish to use these by adding the following flags to your compilation command (e.g. to CFLAGS in your Makefile):
- -I$SPFFT_INCDIR
and the following flags to your link command (e.g. LDFLAGS in your Makefile):
- -L$SPFFT_LIBDIR -Wl,-rpath,$SPFFT_LIBDIR
Available versions by cluster
This section lists the available versions of the package SpFFTon the UMD HPC clusters.
Versions available on the Zaratan cluster
| Version | Module tags | CPU(s) optimized for | GPU ready? |
|---|---|---|---|
| 0.9.10 | 0.9.10 | zen | Yes |
| 1.0.6 | 1.0.6 | icelake, x86_64, zen2 | Yes |
| 1.0.5 | 1.0.5 | x86_64, zen2 | Yes |