  In this paper, our goal is to efficiently solve the Vlasov equation on GPUs.
A semi-Lagrangian discontinuous Galerkin scheme is used for the discretization.
Such kinetic computations are extremely expensive due to the high-dimensional
phase space. The SLDG code, which is publicly available under the MIT license
abstracts the number of dimensions and uses a shared codebase for both GPU and
CPU based simulations. We investigate the performance of the implementation on
a range of both Tesla (V100, Titan V, K80) and consumer (GTX 1080 Ti) GPUs. Our
implementation is typically able to achieve a performance of approximately 470
GB/s on a single GPU and 1600 GB/s on four V100 GPUs connected via NVLink. This
results in a speedup of about a factor of ten (comparing a single GPU with a
dual socket Intel Xeon Gold node) and approximately a factor of 35 (comparing a
single node with and without GPUs). In addition, we investigate the effect of
single precision computation on the performance of the SLDG code and
demonstrate that a template based dimension independent implementation can
achieve good performance regardless of the dimensionality of the problem.
