Development of electromagnetic particle simulation code in an open system

  • Authors:
  • Hiroaki Ohtani;Seiji Ishiguro;Ritoku Horiuchi;Yasuharu Hayashi;Nobutoshi Horiuchi

  • Affiliations:
  • Theory and Computer Simulation Center, National Institute for Fusion Science, Toki, Japan and Graduate University of Advanced Studies, Toki, Japan;Theory and Computer Simulation Center, National Institute for Fusion Science, Toki, Japan and Graduate University of Advanced Studies, Toki, Japan;Theory and Computer Simulation Center, National Institute for Fusion Science, Toki, Japan and Graduate University of Advanced Studies, Toki, Japan;NEC Corporation, Fuchu, Tokyo, Japan;NEC System Technologies Ltd., Osaka, Japan

  • Venue:
  • ISHPC'05/ALPS'06 Proceedings of the 6th international symposium on high-performance computing and 1st international conference on Advanced low power systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In an electromagnetic particle simulation for magnetic reconnection in an open system, which has a free boundary condition, particles go out and come into the system through the boundary and the number of particles depends on time. Besides, particles are locally attracted due to physical condition. Accordingly, it is hard to realize an adequate load balance with domain decomposition. Furthermore, a vector performance does not become efficient without a large memory size due to a recurrence of array access. In this paper, we parallelise the code with High Performance Fortran. For data layout, all field data are duplicated on each parallel process, but particle data are distributed among them. We invent an algorithm for the open boundary of particles, in which an operation for outgoing and incoming particles is performed in each processor, and the only reduction operation for the number of particles is executed in data transfer. This adequate treatment makes the amount and frequency of data transfer small, and the load balance among processes relevant. Furthermore, a compiler-directive listvec in the gather process dramatically decreases the memory size and improves the vector performance. Vector operation ratio becomes about 99.5% and vector length turns 240 and over. It becomes possible to perform the simulation with 800 million particles in 512 × 128 × 64 meshes. We succeed in opening a path for a large-scale simulation.