FORTRAN SOFTWARE CATALOG

Repository owner: 2decomp-fft

2decomp-fft

CPU 3-D Fourier transforms with the built-in backend; checked single-process example.

Repository · Pinned source (4cb38be477b9) · Try in playground · Checked package example

GAMS classifications

About this package

Category
Fourier transforms
License
BSD-3-Clause

Topics: fast-fourier-transform, fft, finite-difference-method, mpi, multidimensional-fft, parallel-computing, pencil-decomposition

Classification scope and review notes

The upstream CMake-selected CPU library uses the built-in generic Fourier transform backend, double precision and pinned MPICH. OpenMP is disabled. The example adapts the author-provided complex FFT example, initializes exactly one MPI process with self/shared-memory UCX transports, transforms an 8-by-6-by-4 complex impulse, independently checks that all forward coefficients equal one, and verifies inverse reconstruction after normalization. J1 covers the multidimensional Fourier transform. Multiple MPI processes and distributed performance are not verified. Local exports need compatible MPI development libraries and locally appropriate include/link flags. BSD-3-Clause notices are retained.

Package dependencies

Resolved GitHub repositories used by the verified playground build, combining direct and indirect dependencies. This list does not describe internal module dependencies or native system libraries.

Required by this build

No additional GitHub package dependencies were recorded for this verified build.

Build record verified 2026-10-30.

Used by (0 selected packages)

No other selected build records this repository as a dependency. This is not a measure of usage outside the catalog.

Reviewed procedures

These mappings have pinned source evidence. A checked package example may exercise only some of them; source review is not a numerical benchmark.

decomp_2d_fft_3d

Module: decomp_2d_fft

J1

J1: verified

Derivatives / callbacks: not applicable

The upstream CMake-selected CPU library uses the built-in generic Fourier transform backend, double precision and pinned MPICH. OpenMP is disabled. The example adapts the author-provided complex FFT example, initializes exactly one MPI process with self/shared-memory UCX transports, transforms an 8-by-6-by-4 complex impulse, independently checks that all forward coefficients equal one, and verifies inverse reconstruction after normalization. J1 covers the multidimensional Fourier transform. Multiple MPI processes and distributed performance are not verified. Local exports need compatible MPI development libraries and locally appropriate include/link flags. BSD-3-Clause notices are retained.

Pinned source: src/fft_generic.f90 · src/glassman.f90

Author examples/tests: examples/fft_physical_x/fft_c2c_x.f90

Load checked GAMS driver: gams-decomp-3d-reference