Estimating the execution time of nested loops or the volume of data transferred between processors is necessary to make appropriate processor or data allocation. To achieve this goal one need to estimate the execution time of the body and thus the number of nested loop iterations. This work could be a preprocessing step in an automatic parallelizing compilers to enhance the performance of the resulting parallel program. A bounded convex polyhedron can be associated with each loop nest. The number of its integer points corresponds to the iteration space size. In this paper, we present an algorithm that approximates this number. The algorithm is not restricted to a fixed dimension. The worst case complexity of the algorithm is infrequently reached in our context where the nesting level is rather small and the loop bound expressions are not very complex.<<ETX>>
[1]
Paul Feautrier,et al.
Processor allocation and loop scheduling on multiprocessor computers
,
1992,
ICS '92.
[2]
Robert E. Shostak,et al.
Deciding Linear Inequalities by Computing Loop Residues
,
1981,
JACM.
[3]
Martin E. Dyer,et al.
On the Complexity of Computing the Volume of a Polyhedron
,
1988,
SIAM J. Comput..
[4]
David K. Smith.
Theory of Linear and Integer Programming
,
1987
.
[5]
Martin E. Dyer.
On Counting Lattice Points in Polyhedra
,
1991,
SIAM J. Comput..
[6]
P. Feautrier.
Parametric integer programming
,
1988
.
[7]
Nadia Tawbi.
Parallelisation automatique : estimation des durees d'execution et allocation statique de processeurs
,
1991
.