Ripple : Simplified Large-Scale Computation on Heterogeneous Architectures with Polymorphic Data Layout
Robert Clucas, Philip Blakely, Nikolaos Nikiforakis

TL;DR
Ripple is a library that simplifies large-scale computations on heterogeneous GPU architectures by providing flexible data layouts and efficient scheduling, enabling high performance and scalability across multiple GPUs.
Contribution
The paper introduces Ripple, a novel library that unifies data layout and scheduling for multi-GPU computations, improving performance and ease of programming.
Findings
Achieves good strong and weak scaling across multiple GPUs.
Demonstrates performance improvements on particle motion, finite-volume methods, and eikonal equation.
Provides a simple interface for complex GPU computations.
Abstract
GPUs are now used for a wide range of problems within HPC. However, making efficient use of the computational power available with multiple GPUs is challenging. The main challenges in achieving good performance are memory layout, affecting memory bandwidth, effective use of the memory spaces with a GPU, inter-GPU communication, and synchronization. We address these problems with the Ripple library, which provides a unified view of the computational space across multiple dimensions and multiple GPUs, allows polymorphic data layout, and provides a simple graph interface to describe an algorithm from which inter-GPU data transfers can be optimally scheduled. We describe the abstractions provided by Ripple to allow complex computations to be described simply, and to execute efficiently across many GPUs with minimal overhead. We show performance results for a number of examples, from…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
