UniLogo   FMI Lehrstuhl für Programmierung
Uni-Passau FMI Lehrstuhl für Programmierung

The Polyhedral Loop Parallelizer: LooPo

LooPo is a project of the Chair for Programming at the Department of Mathematics and Computer Science of the University of Passau. Its purpose is to develop a prototype implementation of loop parallelization methods based on the polyhedral model. LooPo is part of the DFG-funded projects RecuR (Regular Concurrency in Recursions) and, recently, LooPo/HPF (see below).

The first phase, an implementation of space-time mapping methods for nested FOR loops [Loop Parallelization in the Polytope Model], has been under way since March 1994. The second phase started in mid 1996 and gave LooPo the capability of dealing with WHILE loops, FOR loops with unknown bounds at compile time and IF conditions in the loop nest [On the Space-Time Mapping of WHILE-Loops]. The third phase started in March 1999 and focuses on generating more efficient target code by using HPF as a back end to LooPo. The idea is to combine the higher abstraction level of LooPo - which generates structural information useful for the parallelization - with the machine level optimizations of HPF compilers. We chose ADAPTOR from the GMD at St. Augustin among the existing HPF compilers, since it is free, adaptable and respects the required directives. This phase is sponsored by the DFG under the name LooPo/HPF. Simultaneously, we focus on improving the efficiency of our directly produced parallel code.

With Martin Griebl as the project manager, up to now, more than 25 students have been involved in the implementation of different modules. The LooPo team can be contacted by email at loopo@fmi.uni-passau.de.

Since currently there is no public release available, please contact us via mail for getting LooPo. The distribution contains the complete source code of LooPo, written in C++, with a front-end in Tcl/Tk. LooPo uses only freely available software to enable a wide-spread use. LooPo runs on Sun workstations under Solaris 2.x, and on PCs under Linux.

LooPo is being provided "as is" and has been put under the GNU General Public License. It contains a modified version of the tool PIP by Paul Feautrier, which has been included by permission. Furthermore some optional modules are based on additional free tools: one module for schedule and allocation is based on the Polylib and one module for index set splitting will be based on Omega.

Details

More information is available about:

The internal information is only available within the local pool, as well as job offers.

Related Work


(C)opyright by University of Passau, Sven Anders 25.07.1997