FluidFFT: Common API (C++ and Python) for Fast Fourier Transform HPC Libraries
Autor: | Mohanan, Ashwin Vishnu, Bonamy, Cyrille, Augier, Pierre |
---|---|
Přispěvatelé: | Department of Mechanics [Stockholm], Linné FLOW Center [Stockholm], Royal Institute of Technology [Stockholm] (KTH )-Royal Institute of Technology [Stockholm] (KTH ), Laboratoire des Écoulements Géophysiques et Industriels [Grenoble] (LEGI ), Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP )-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes [2016-2019] (UGA [2016-2019]) |
Jazyk: | angličtina |
Rok vydání: | 2019 |
Předmět: |
FOS: Computer and information sciences
lcsh:Computer software Programvaruteknik Fluid Mechanics and Acoustics Beräkningsmatematik Fluid Dynamics (physics.flu-dyn) FOS: Physical sciences Software Engineering Strömningsmekanik och akustik fluid dynamics Python FFT simulations Physics - Fluid Dynamics Computational Mathematics lcsh:QA76.75-76.765 Computer Science - Mathematical Software [PHYS.MECA.MEFL]Physics [physics]/Mechanics [physics]/Fluid mechanics [physics.class-ph] Mathematical Software (cs.MS) |
Zdroj: | Journal of Open Research Software Journal of Open Research Software, Ubiquity Press, 2019, 7, ⟨10.5334/jors.238⟩ Journal of Open Research Software, Vol 7, Iss 1 (2019) Journal of Open Research Software; Vol 7, No 1 (2019); 10 |
ISSN: | 2049-9647 |
DOI: | 10.5334/jors.238⟩ |
Popis: | 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. Funding statement: This project has indirectly benefited from funding from the foundation Simone et Cino Del Duca de l’Institut de France, the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement No 647018-WATU and Euhit consortium) and the Swedish Research Council (Vetenskapsrådet): 2013–5191. We have also been able to use supercomputers of CIMENT/GRICAD, CINES/GENCI (grant 2018-A0040107567) and the Swedish National Infrastructure for Computing (SNIC). |
Databáze: | OpenAIRE |
Externí odkaz: |