SpFFT - A 3D FFT 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. By default the package is compiled with single-precision float-point operations and a sequential version. If you want to change it use the following environment variable options: - DP=yes, use double-precision. - OMP=yes, use openmp. Options that requires extra packages: - MPI=yes, use MPI (requires a MPI implementation either mpich or openmpi). - CUDA=yes, requires CUDA Toolkit