Supporting Adaptive Privatization Techniques for Irregular Array Reductions in Task-Parallel Programming Models
Supporting Adaptive Privatization Techniques for Irregular Array Reductions in Task-Parallel Programming Models. In Proceedings of IWOMP 2016. 12th International Workshop on OpenMP. (p. 336-349). Nara, JAPAN.
Generalizes the concept of array privatization to support a variety of array reduction techniques, implements an inspector-executor to provide memory access analytics to the runtime for automatic tuning and shows what language extensions are needed.
Abstract
Irregular array-type reductions represent a reoccurring algorithmic pattern in many scientific applications. Their scalable execution on modern systems is not trivial as their irregular memory access pattern prohibits an efficient use of the memory subsystem and costly techniques are needed to eliminate data races. Taking a closer look at algorithms, memory access patterns and support techniques reveals that a one-size-fits-all solution does not exist and approaches are needed that can adapt to individual properties while maintaining programming transparency. In this work we propose a solution framework that generalizes the concept of privatization to support a variety of techniques, implements an inspector-executor to provide memory access analytics to the runtime for automatic tuning and shows what language extensions are needed. A reference implementation in OmpSs, a task-parallel programming model, shows programmability and scalability of this solution.