Improving Performance of Transposition Algorithm of 3-D Data Array for Parallelization Using Message Passing Interface
Masahiro Arai, Fumiko Akagi, Saneyasu Yamaguchi, Kazuetsu Yoshida · 2018
Parallelization with a message passing interface (MPI) is useful for improving the performance of the LLG micromagnetics simulator used for analysis of magnetization behavior. However, it is necessary to transpose elements of 3-D data arrays to be consistent in the data. In this paper, we investigated two methods for improving the performance of the transpose processes. One divides 6-transpose-processes in a triplefor loopinto 6-triplefor loops. The other transposes the elements of the 3-D data arrays in each process before the data is integrated by using MPI_Allgather(). We compared the effects of the two methods on improving performances on two supercomputers: Oakforest-PACS and Reedbush-U. The results show that the former method was only effective on Oakforest-PACS, but the latter method was effective on both computers.