Recently, hybrid (GPU-equipped) supercomputers have attained a very high performance level. The fact is, the solution of real physical problems with such supercomputers is restricted by the GPU programming complexity.
In order to simplify the development of high-performance plasma physics codes for hybrid supercomputers, a template implementation of Particle-in-Cell (PIC) method was carried out. The template parameters are problem-specific implementations of “particle” and “cell” (as C++ classes).
Thus, it is possible to develop a PIC code for a new plasma physics problem without GPU programming. Instead, the new physical features are just included into the existing code as new implementations of “particle” and “cell” classes.