  New hardware architectures open up immense opportunities for supercomputer
simulations. However, programming techniques for different architectures vary
significantly, which leads to the necessity of developing and supporting
multiple code versions, each being optimized for specific hardware features.
The oneAPI framework, recently introduced by Intel, contains a set of
programming tools for the development of portable codes that can be compiled
and fine-tuned for CPUs, GPUs, FPGAs, and accelerators. In this paper, we
report on the experience of porting the implementation of Boris particle pusher
to oneAPI. Boris particle pusher is one of the most demanding computational
stages of the Particle-in-Cell method, which, in particular, is used for
supercomputer simulations of laser-plasma interactions. We show how to adapt
the C++ implementation of the particle push algorithm from the Hi-Chi project
to the DPC++ programming language and report the performance of the code on
high-end Intel CPUs (Xeon Platinum 8260L) and Intel GPUs (P630 and Iris Xe
Max). It turned out that our C++ code can be easily ported to DPC++. We found
that on CPUs the resulting DPC++ code is only ~10% on average inferior to the
optimized C++ code. Moreover, the code is compiled and run on new Intel GPUs
without any specific optimizations and shows the expected performance, taking
into account the parameters of the hardware.
