Skip to content

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