Communication and computation overlapping techniques have been introduced in the five-dimensional gyrokinetic codes GYSELA and GKV. In order to anticipate some of the exa-scale requirements, these codes were ported to the modern accelerators, Xeon Phi KNL and Tesla P 100 GPU. On accelerators, a serial version of GYSELA on KNL and GKV on GPU are respectively 1.3× and 7.4× faster than those on a single Skylake processor (a single socket). For the scalability, we have measured GYSELA performance on Xeon Phi KNL from 16 to 512 KNLs (1024 to 32k cores) and GKV performance on Tesla P 100 GPU from 32 to 256 GPUs. In their parallel versions, transpose communication in semi-Lagrangian solver in GYSELA or Convolution kernel in GKV turned out to be a main bottleneck. This indicates that in the exa-scale, the network constraints would be critical. In order to mitigate the communication costs, the pipeline and task-based overlapping techniques have been implemented in these codes. The GYSELA 2D advection solver has achieved a 33% to 92% speed up, and the GKV 2D convolution kernel has achieved a factor of 2 speed up with pipelining. The task-based approach gives 11% to 82% performance gain in the derivative computation of the electrostatic potential in GYSELA.We have shown that the pipeline-based approach is applicable with the presence of symmetry, while the task-based approach can be applicable to more general situations.
KEYWORDSoverlap, semi-Lagrangian, spectral, Tesla P100 GPU, transpose communication, Xeon Phi KNL
INTRODUCTIONIt is known that turbulence in a magnetic confined fusion plasma exhibits strong anisotropies in parallel and perpendicular directions to magnetic fields. In the parallel direction along the magnetic field line, the characteristic scale is the machine size (ie, the order of meter), while in the perpendicular direction, the characteristic size is down to a tiny Larmor radius scale (ie, the order of centimeter). In numerical simulations, higher resolution is needed in the perpendicular direction than in the parallel direction. It is therefore reasonable to parallelize such a simulation in the perpendicular directions since they require a large numbers of grid points. There are several algorithms used in this field, which need a global data structure in the perpendicular directions, like spectral or semi-Lagrangian methods. In order to gather distributed data, we need the so-called transpose communication. However, this type of communication is relatively demanding.So as to mask the communication cost, the pipeline-based computation and communication overlapping method was proposed for 5Dgyrokinetic simulation codes based on the finite difference method 1 and the spectral method. 2,3 An improved strong scaling up to 600 k cores was demonstrated on a conventional CPU-based supercomputer. 1,3 It is, however, still questionable to have a similar scalability on state-of-the art supercomputing systems employing accelerators, where the computational power is enormously increased while the improvement of the ...