The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - September (1992 vol.3)
pp: 573-581
ABSTRACT
Both the efficient execution of branch intensive code and knowing the bounds on the same are important issues in computing in general and supercomputing in particular. In prior work, it has been suggested that the hardware needed to execute code with branches optimally is exponentially dependent on the total number of dynamic branches executed, this number of branches being proportional at least to the number of iterations of the loop. For classes of code taking at least one cycle per iteration to execute, this is not the case. For loops containing one test (normally in the form of a Boolean recurrence of order one), it is shown that the hardware necessary varies from exponential to polynomial in the length of the dependence cycle L, while execution time varies from one time cycle per iteration to less than L time cycles per iteration; the variation depends on specific code dependences. These results bring the eager evaluation of imperative code closer to fruition.
INDEX TERMS
Index Termsloop iterations; loops with tests; branch intensive code; dynamic branches; Booleanrecurrence; order one; dependence cycle; time cycle; imperative code; parallelprogramming
CITATION
A.K. Uht, "Requirements for Optimal Execution of Loops with Tests", IEEE Transactions on Parallel & Distributed Systems, vol.3, no. 5, pp. 573-581, September 1992, doi:10.1109/71.159040
12 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool