Generalization of the Sethi-Ullman algorithm for register allocation
Software—Practice & Experience
Optimal evaluation of vector expression trees
JCIT Proceedings of the fifth Jerusalem conference on Information technology
The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
On compiling algorithms for arithmetic expressions
Communications of the ACM
Modern Compiler Implementation in Java
Modern Compiler Implementation in Java
HiPC '01 Proceedings of the 8th International Conference on High Performance Computing
Memory-Optimal Evaluation of Expression Trees Involving Large Objects
HiPC '99 Proceedings of the 6th International Conference on High Performance Computing
LCPC '99 Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing
Performance optimization of a class of loops implementing multidimensional integrals
Performance optimization of a class of loops implementing multidimensional integrals
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
Register allocation via coloring
Computer Languages
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
The need to evaluate expression trees involving large objects arises in scientific computing applications such as electronic structure calculations. Often, the tree node objects are so large that only a subset of them can fit into memory at a time. This paper addresses the problem of finding an evaluation order of the nodes in a given expression tree that uses the least amount of memory. We present an algorithm that finds an optimal evaluation order in @Q(nlog^2n) time for an n-node expression tree and prove its correctness. We demonstrate the utility of our algorithm using representative equations from quantum chemistry.