Counting Solutions to Presburger Formulas: How and Why
dc.contributor.author | Pugh, William | en_US |
dc.date.accessioned | 2004-05-31T22:25:24Z | |
dc.date.available | 2004-05-31T22:25:24Z | |
dc.date.created | 1993-04 | en_US |
dc.date.issued | 1998-10-15 | en_US |
dc.description.abstract | We describe methods that are able to count the number of integer solutions to selected free variables of a Presburger formula, or sum a polynomial over all integer solutions of selected free variables of a Presburger formula. This answer is given symbolically, in terms of symbolic constants (the remaining free variables in the Presburger formula). For example, we can create a Presburger formula who's solutions correspond to the iterations of a loop. By counting these, we obtain an estimate of the execution time of the loop. In more complicated applications, we can create Presburger formulas who's solutions correspond to the distinct memory locations or cache lines touched by a loop, the flops executed by a loop, or the array elements that need to be communicated at a particular point in a distributed computation. By counting the number of solutions, we can evaluate the computation/memory balance of a computation, determine if a loop is load balanced and evaluate message traffic and allocate message buffers. (Also cross-referenced as UMIACS-TR-94-27) | en_US |
dc.format.extent | 247894 bytes | |
dc.format.mimetype | application/postscript | |
dc.identifier.uri | http://hdl.handle.net/1903/621 | |
dc.language.iso | en_US | |
dc.relation.isAvailableAt | Digital Repository at the University of Maryland | en_US |
dc.relation.isAvailableAt | University of Maryland (College Park, Md.) | en_US |
dc.relation.isAvailableAt | Tech Reports in Computer Science and Engineering | en_US |
dc.relation.isAvailableAt | UMIACS Technical Reports | en_US |
dc.relation.ispartofseries | UM Computer Science Department; CS-TR-3234 | en_US |
dc.relation.ispartofseries | UMIACS; UMIACS-TR-94-27 | en_US |
dc.title | Counting Solutions to Presburger Formulas: How and Why | en_US |
dc.type | Technical Report | en_US |