7. Conclusions
A hard problem in modern computing is how to deal with legacy codes so that they can benefit from the current and future High Performance Computing (HPC) resources. The challenge became apparent with the advent of hybrid architectures offering massive amounts of multithreading. An integrated programming environment, preferably applicable to both traditional multicore HPC systems as well as to new hybrid CPU/GPU architectures, is therefore key in the quest for exascale computing. The main objective behind our work is the development of a platform, which we refer to as a PIC_ENGINE, for testing the performance of PIC algorithms on hybrid CPU + GPU and many-core platforms CPU + Xeon Phi. This permits a valuable testing ground for the algorithmic choices in a more efficient way than on a full application production code. Of course, depending on the physical application, different algorithms are best suited for different hardware. This paper focuses on CPU/GPU systems. The PIC_ENGINE can be run on the Intel Many Integrated Core architecture (Xeon Phi) as well. Results on the latter architecture are subject to ongoing efforts that will be shown in a separate work. In this paper, we considered a simple Vlasov electrostatic problem in 6D phase space using Cartesian coordinates and linear particle-to-grid interpolations. For the sake of simplicity, the field-solver was not included and particles move into a frozen given electric field. We took the option to rely on the OpenACC programming standard which allows existing HPC applications to be ported to run on one or more GPUs with only modest changes to the original code. It also offers more portability and maintainability for the code base. Most importantly, since the tools for debugging on the CPU are currently better supported, the same code can still be run efficiently on a pure CPU-based system. We focused on single node performance and compared CPU and GPU implementations. An extension to multiple GPUs on a drift-kinetic problem is currently being carried out and will be evaluated in future work.