Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

Complexity of Multi-dimensional Loop Alignment

Alain DarteContact Information and Guillaume HuardContact Information

(6)  LIP, ENS-Lyon, F-69364 LYON Cedex 07, France
Abstract
Loop alignment is a classical program transformation that can enable the fusion of parallel loops, thereby increasing locality and reducing the number of synchronizations. Although the problem is quite old in the one-dimensional case (i.e., no nested loops), it came back recently — with a multi-dimensional form — when trying to refine parallelization algorithms based on multi-dimensional schedules. The main result of this paper is that, unlike the problem in 1D, finding a multi-dimensional shift of statements that makes an innermost loop parallel is strongly NP-complete. Nevertheless, we identify some polynomially-solvable cases that can occur in practice and we show that the general problem can be stated as a system of integer linear constraints.

Keywords  Program Transformation - Loop Optimization - Automatic - Parallelization - Retiming - Complexity

Shifting is sometimes called alignment. But we prefer to make a distinction between shifting, a technique that consists in shifting some statements with respect to the loop iterations, and alignment, which is one particular goal achieved by this technique.

Contact Information Alain Darte
Email: Alain.Darte@ens-lyon.fr

Contact Information Guillaume Huard
Email: Guillaume.Huard@ens-lyon.fr
Fulltext Preview (Small, Large)
Image of the first page of the fulltext

References secured to subscribers.



Export this chapter
Export this chapter as RIS | Text
 
Remote Address: 38.107.191.108 • Server: mpweb18
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)