Issue No. 03 - March (1995 vol. 6)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.372771
<p><it>Abstract—</it>In this paper, we discuss and evaluate three optimizations for reducing memory management overhead and data copying costs in S<scp>ISAL</scp> 1.2 programs that build arrays. The first, called framework preconstruction, eliminates superfluous allocate-deallocate sequences in cyclic computations. The second, called aggregate storage subsumption, reduces the management overhead for compound array components. The third, called predictive storage preallocation, eliminates superfluous data copying in filtered array constructions and simplifies their parallelization. We have added all three optimizations to the Optimizing S<scp>ISAL</scp> Compiler with rewarding improvements in S<scp>ISAL</scp> program performance on vector-parallel machines such as those built by Cray Computer Corporation, Convex, and Cray Research.</p><p><it>Index Terms—</it>Functional languages, parallel computing, vector computing, imperative languages, copy elimination, storage optimizations, arrays.</p>
P. Evripidou and D. C. Cann, "Advanced Array Optimizations for High Performance Functional Languages," in IEEE Transactions on Parallel & Distributed Systems, vol. 6, no. , pp. 229-239, 1995.