Automatic execution of single-GPU computations across multiple GPUs

Javier Cabezas,Lluís Vilanova,Isaac Gelado,Thomas B. Jablin,Nacho Navarro,Wen-mei Hwu
DOI: https://doi.org/10.1145/2628071.2628109
2014-08-24
Abstract:We present AMGE, a programming framework and runtime system to decompose data and GPU kernels and execute them on multiple GPUs concurrently. AMGE exploits the remote memory access capability of recent GPUs to guarantee data accessibility regardless of its physical location, thus allowing AMGE to safely decompose and distribute arrays across GPU memories. AMGE also includes a compiler analysis to detect array access patterns in GPU kernels. The runtime uses this information to automatically choose the best computation and data distribution configuration. Through effective use of GPU caches, AMGE achieves good scalability in spite of the limited interconnect bandwidth between GPUs. Results show 1.95x and 3.73x execution speedups for 2 and 4 GPUs for a wide range of dense computations compared to the original versions on a single GPU.
What problem does this paper attempt to address?