The portable and scalable kinetic plasma simulation code for hybrid supercomputers



Today the method for the development of portable numerical simulation programs is very important because of the two main reasons. The first reason is the diversity of supercomputer architectures in Top500 and the second one is a demand for using the most powerful computers to simulate, for example, plasma. The method presented is based on minimizing the number of code fragments that depend on the architecture and, also, on the use of function variables. The use of the method is shown on the example of the program for plasma simulation by the Particle-In-Cell method. The program was ported from the GPU to Intel Xeon Phi. The porting was done just by re-compilation because of the method described in the paper.