Using of Fluidfft for the Optimal Choice of HPC FFT Library: A 3D Seismic Modeling Example

Abstract

In this work, we illustrate a practical application of the use of Fluidfft, a newly developed common API (C++ and Python) for performing Fast Fourier Transforms (FFT) with different FFT libraries. Fluidfft is an open-source software aimed at filling the absence of a package with the ability to support multiple FFT libraries. It allows end-users (i.e., engineers/geophysicist) to create applications where any one of these libraries can be used while enabling to compare their performance. We developed and evaluated an implementation of the one-step wave extrapolation matrix (OSEM) method on a HPC cluster using the C++ programming language. The computational cost of this method lies in the application of a finite number of FFTs at each time step in order to compute a pseudodifferential operator and, therefore the selection of a suitable FFT library is crucial for optimal performance. We analyzed the impact of the different FFT libraries (fluidfft classes) on the runtime and show how the use of fluidfft facilitates the selection of the optimal one.

Publication
Conference Proceedings, EAGE 2020 Annual Conference & Exhibition Online, Dec 2020, Volume 2020, p.1 - 5
Oscar Mojica
Oscar Mojica
Geologist & Geophysicist/Researcher

My research interests include parallel programming and optimization of scientific applications.

Related