{'fraction_non_alphanumeric': 0.01576182136602452, 'fraction_numerical': 0.014010507880910683, 'mean_word_length': 5.885542168674699, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
MPI Parallel Implementation for Pseudo-Spectral Simulations for Turbulent Channel Flow

ABSTRACT The present study performs direct numerical simulations of turbulent channel flows using a spectral method in a large computational domain. Because of applying Fourier discretisation in the spectral method, parallelisation of the method may incur heavy communication overhead, thereby resulting in poor scalability. We design and improve the spectral code by exploring parallel techniques, including domain decomposition and data transposition algorithms. We focus particularly on the 2D domain decomposition and data transpose algorithm with the non-blocking collective operations improves parallel performance, thereby enabling latency mitigation by overlapping the computation and communication. Finally, we evaluate the code on the Nurion supercomputer at KISTI supercomputing centre. The transpose algorithm based on the non-blocking collective operations shows the best performance, which enables 3.55 times faster computing on 256 nodes using 16,384 MPI ranks for the L550 case of grid points than the non-optimised 2D decomposition case.