Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous Machines
Thiago S. F. X. Teixeira, Alexandra Henzinger, Rohan Yadav, Alex Aiken · 2023
In a parallel and distributed application, a mapping is a selection of a processor for each computation or task and memories for the data collections that each task accesses. Finding high-performance mappings is challenging, particularly on heterogeneous hardware with multiple choices for processors and memories. We show that fast mappings are sensitive to the machine, application, and input. Porting to a new machine, modifying the application, or using a different input size may necessitate re-tuning the mapping to maintain the best possible performance.