  We present cudaclaw, a CUDA-based high performance data-parallel framework
for the solution of multidimensional hyperbolic partial differential equation
(PDE) systems, equations describing wave motion. cudaclaw allows computational
scientists to solve such systems on GPUs without being burdened by the need to
write CUDA code, worry about thread and block details, data layout, and data
movement between the different levels of the memory hierarchy. The user defines
the set of PDEs to be solved via a CUDA- independent serial Riemann solver and
the framework takes care of orchestrating the computations and data transfers
to maximize arithmetic throughput. cudaclaw treats the different spatial
dimensions separately to allow suitable block sizes and dimensions to be used
in the different directions, and includes a number of optimizations to minimize
access to global memory.
