Unlocking massively parallel spectral proper orthogonal decompositions in the PySPOD package

We propose a parallel (distributed) version of the spectral proper orthogonal decomposition (SPOD) technique. The parallel SPOD algorithm distributes the spatial dimension of the dataset preserving time. This approach is adopted to preserve the non-distributed fast Fourier transform of the data in time, thereby avoiding the associated bottlenecks. The parallel SPOD algorithm is implemented in the PySPOD library and makes use of the standard message passing interface (MPI) library, implemented in Python via mpi4py. An extensive performance evaluation of the parallel package is provided, including strong and weak scalability analyses. The open-source library allows the analysis of large datasets of interest across the scientific community. Here, we present applications in fluid dynamics and geophysics, that are extremely difficult (if not impossible) to achieve without a parallel algorithm. This work opens the path toward modal analyses of big quasi-stationary data, helping to uncover new unexplored spatiotemporal patterns.

Marcin Rogowski, Lisandro Dalcin, and Matteo Parsani were supported by King Abdullah University of Science and Technology (KAUST). Brandon C. Y. Yeung and Oliver T. Schmidt gratefully acknowledge support from Office of Naval Research award N00014-23-1-2457, under the supervision of Dr. Steve Martens. Romit Maulik was supported by U.S. DOE ASCR Award Data-intensive Scientific Machine Learning: DE-FOA-2493. Gianmarco Mengaldo was supported by MOE Tier 2 grant 22-5191-A0001-0. The authors are thankful to the KAUST Supercomputing Laboratory for their computing resources. LES calculations were carried out on the “Onyx” Cray XC40/50 system in ERDC DSRC, using allocations provided by DoD HPCMP.



Additional Links

Permanent link to this record