FluidFFT: Common API (C++ and Python) for Fast Fourier Transform HPC Libraries

The Python package fluidfft provides a common Python API for performing Fast Fourier Transforms (FFT) in sequential, in parallel and on GPU with different FFT libraries (FFTW, P3DFFT, PFFT, cuFFT). fluidfft is a comprehensive FFT framework which allows Python users to easily and efficiently perform...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of open research software Ročník 7; číslo 1; s. 10
Hlavní autoři: Mohanan, Ashwin Vishnu, Bonamy, Cyrille, Augier, Pierre
Médium: Journal Article
Jazyk:angličtina
Vydáno: Ubiquity Press 01.04.2019
Témata:
ISSN:2049-9647, 2049-9647
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:The Python package fluidfft provides a common Python API for performing Fast Fourier Transforms (FFT) in sequential, in parallel and on GPU with different FFT libraries (FFTW, P3DFFT, PFFT, cuFFT). fluidfft is a comprehensive FFT framework which allows Python users to easily and efficiently perform FFT and the associated tasks, such as computing linear operators and energy spectra. We describe the architecture of the package composed of C++ and Cython FFT classes, Python "operator" classes and Pythran functions. The package supplies utilities to easily test itself and benchmark the different FFT solutions for a particular case and on a particular machine. We present a performance scaling analysis on three different computing clusters and a microbenchmark showing that fluidfft is an interesting solution to write efficient Python applications using FFT.
ISSN:2049-9647
2049-9647
DOI:10.5334/jors.238