ARC: Adaptive Ray-tracing with CUDA, a New Ray Tracing Code for Parallel
  GPUs
  We present the methodology of a photon-conserving, spatially-adaptive,
ray-tracing radiative transfer algorithm, designed to run on multiple parallel
Graphic Processing Units (GPUs). Each GPU has thousands computing cores, making
them ideally suited to the task of tracing independent rays. This ray-tracing
implementation has speed competitive with approximate momentum methods, even
with thousands of ionization sources, without sacrificing accuracy and
resolution. Here, we validate our implementation with the selection of tests
presented in the "cosmological radiative transfer codes comparison project," to
demonstrate the correct behavior of the code. We also present a selection of
benchmarks to demonstrate the performance and computational scaling of the
code. As expected, our method scales linearly with the number of sources and
with the square of the dimension of the 3D computational grid. Our current
implementation is scalable to an arbitrary number of nodes possessing GPUs, but
is limited to a uniform resolution 3D grid. Cosmological simulations of
reionization with tens of thousands of radiation sources and intergalactic
volumes sampled with 1024$^3$ grid points take about 30 days on 64 GPUs to
reach complete reionization.
