previous_group previous up next next_group
Previous: 1. Normalization Up: 2. Large Operands Next: 3. Convex Hull

2. Projection

The constraint system, whose first fragment is printed in 6_fig:example_projection_large_constraint_system, represents a case that our projection operator cannot handle. It raises an exception in memory space by the Fourier-Motzkin method, thus the execution of PIPS is not possible without approximation on the program applu.f in SPEC95 benchmark.

Figure 5: Example: first fragment of a large constraint system which fails the projection operator
\begin{figure}
\begin{verbatim}...

We have analyzed this example by applying successively the projections along the variable NY, NZ, NX, PHI1, PHI3, PHI4. The projection along NY or NZ or NX raises immediately an out-of-memory space exception, whereas the projection along PHI2 or PHI3 or PHI4 reduces greatly the size of the constraint system, so that projections along the other variables become possible. Beside the order of the list of variables to project, the Fourier-Motzkin elimination method used in the projection is also sensitive to the order of the constraints in the constraint system. In this algorithm, the integer results can be retained if we only project the variable along unitary coefficients ($1$ or $-1$) [*]. However, we did not have time to build a better projection algorithm.


previous_group previous up next next_group
Previous: 1. Normalization Up: 2. Large Operands Next: 3. Convex Hull
Nguyen Que Duong
2006-09-16