# P3DFFT: a framework for parallel computations of Fourier transforms in   three dimensions

**Authors:** Dmitry Pekurovsky

arXiv: 1905.02803 · 2019-05-09

## TL;DR

P3DFFT is an efficient, scalable software package for 3D Fourier transforms that overcomes traditional bottlenecks using 2D domain decomposition, enabling high-performance computations on large parallel systems.

## Contribution

The paper introduces P3DFFT, a scalable 3D FFT implementation that significantly improves performance on high-core-count systems through innovative domain decomposition techniques.

## Key findings

- Achieves 45% efficiency in weak scaling from 128 to 65,536 cores on Cray XT5
- Supports various transform types and data formats with flexible interfaces
- Provides open-source software for high-performance 3D Fourier transforms

## Abstract

Fourier and related transforms is a family of algorithms widely employed in diverse areas of computational science, notoriously difficult to scale on high-performance parallel computers with large number of processing elements (cores). This paper introduces a popular software package called P3DFFT implementing Fast Fourier Transforms (FFT) in three dimensions (3D) in a highly efficient and scalable way. It overcomes a well-known scalability bottleneck of 3D FFT implementations by using two-dimensional domain decomposition. Designed for portable performance, P3DFFT achieves excellent timings for a number of systems and problem sizes. On Cray XT5 system P3DFFT attains 45% efficiency in weak scaling from 128 to 65,536 computational cores. Library features include Fourier and Chebyshev transforms, Fortran and C interfaces, in- and out-of-place transforms, uneven data grids, single and double precision. P3DFFT is available as open source at http://code.google.com/p/p3dfft/. This paper discusses P3DFFT implementation and performance in a way that helps guide the user in making optimal choices for parameters of their runs.

---
Source: https://tomesphere.com/paper/1905.02803