Parallelization of Atomic Image Reconstruction from Holograms
217
Data aggregation of the reconstructed atomic images distributed among nodes
is described by gmove statement by XcalableMP, while called MPI_Gatherv
library function by MPI. We confirmed XcalableMP compiler transfers gmove to
appropriate MPI library functions.
5 Conclusion
This chapter describes parallelization of reconstruction of three-dimensional atomic
images in X-ray fluorescence holography, which is an analysis method of material
science. In order to execute it on large-scale PC clusters and supercomputer, we
adopt hybrid parallelization, or inter- and intra-node parallelization by XcalableMP
and OpenMP.
The program, whose input is 21 holograms data of 179 × 360 points and output is
a three-dimensional atomic image of 192 3 points, is executed on PC cluster which
consists of eight nodes of Intel Xeon X5660 processors and 96 cores in total, is
executed in 1841 s, or about half an hour. We estimated that it would take a few
days to execute this reconstruction sequentially. We confirmed that the performance
is improved by parallelization to the practical use.
We also confirmed that the higher productivity of parallel programming is
achieved by XcalableMP than MPI without sacrificing performance.
Acknowledgments The part of this work was supported by JSPS Grant-in-Aid for Scientific
Research on Innovative Areas “3D Active-Site Science,” Grant Number 26105013.
References
1. J.J. Barton, Photoelectron holography. Phys. Rev. Lett. 61(12), 1356–1359 (1988)
2. J.J. Barton, Removing multiple scattering and twin images from holographic images. Phys.
Rev. Lett. 67(22), 3106–3109 (1991)
3. B.L. Chamberlain, Chapel, chapter 6, in Programming Models for Parallel Computing, ed. by
P. Balaji (The MIT Press, Cambridge, 2015)
4. K. Hayashi, N. Happo, S. Hosokawa, Evaluation of local lattice distortion by X-ray
fluorescence holography. JSSRR 26(4), 195–205 (2013) [in Japanese]
5. High Performance Fortran Forum, High Performance Fortran Language Specification (Ver.
2.0) (1997)
6. Message Passing Interface Forum, MPI: Message Passing Interface Version 3.1 (2015), https://
www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf
7. OpenMP Architecture Review Board, OpenMP Application Program Interface Version 5.0
(2018), https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf
Précédent

- 221/265

Suivant