Authors: Rupanshu Soi (Birla Institute of Technology and Science Pilani, Hyderabad Campus); Michael Bauer, Sean Treichler, Manolis Papadakis, and Wonchan Lee (NVIDIA Corporation); Patrick McCormick (Los Alamos National Laboratory); Alex Aiken (Stanford University); and Elliott Slaughter (SLAC National Accelerator Laboratory)
Abstract: It's common to see specialized language constructs in modern task-based programming systems for reasoning about groups of independent tasks intended for parallel execution. However, most systems use an ad-hoc representation that limits expressiveness and often overfits for a given application domain. We introduce index launches, a scalable and flexible representation of a group of tasks. Index launches use a flexible mechanism to indicate the data required for a given task, allowing them to be used for a much broader set of use cases while maintaining an efficient representation. We present a hybrid design for index launches, involving static and dynamic program analyses, along with a characterization of how they're used in Legion and Regent, and show how they generalize constructs found in other task-based systems. Finally, we present results of scaling experiments which demonstrate that index launches are crucial for the efficient distributed execution of several scientific codes in Regent.
Back to Technical Papers Archive Listing