Abstract
This paper focuses on the use of clusters of general purpose
graphics processors as offload devices for tree-based N-body
simulations. Whereas the behavior of these hierarchical methods has
been studied in the past on CPU-based architectures, we investigate
key performance issues in the context of clusters of GPUs. These
include kernel organization and efficiency, the balance between
tree traversal and force computation work, grain size selection
through the tuning of offloaded work request sizes, and the
reduction of sequential bottlenecks. The effects of various
application parameters are studied and experiments are carried out
to quantify gains in performance. Our studies are carried out in
the context of a production-quality parallel cosmological simulator
called ChaNGa. We highlight the re-engineering of the application
to make it more suitable for GPU-based environments. Finally, we
present scaling performance results from experiments on the NCSA's
Lincoln GPU cluster.