@jdoerfert

Polly's Polyhedral Scheduling in the Presence of Reductions

, , , and . (2015)cite arxiv:1505.07716Comment: Presented at the IMPACT15 workshop.

Abstract

The polyhedral model provides a powerful mathematical abstraction to enable effective optimization of loop nests with respect to a given optimization goal, e.g., exploiting parallelism. Unexploited reduction properties are a frequent reason for polyhedral optimizers to assume parallelism prohibiting dependences. To our knowledge, no polyhedral loop optimizer available in any production compiler provides support for reductions. In this paper, we show that leveraging the parallelism of reductions can lead to a significant performance increase. We give a precise, dependence based, definition of reductions and discuss ways to extend polyhedral optimization to exploit the associativity and commutativity of reduction computations. We have implemented a reduction-enabled scheduling approach in the Polly polyhedral optimizer and evaluate it on the standard Polybench 3.2 benchmark suite. We were able to detect and model all 52 arithmetic reductions and achieve speedups up to 2.21$\times$ on a quad core machine by exploiting the multidimensional reduction in the BiCG benchmark.

Description

[1505.07716] Polly's Polyhedral Scheduling in the Presence of Reductions

Links and resources

Tags

community

  • @dblp
  • @jdoerfert
@jdoerfert's tags highlighted