The Manchester prototype dataflow computer
Communications of the ACM - Special section on computer architecture
HEP SISAL: parallel functional programming
on Parallel MIMD computation: HEP supercomputer and its applications
Data flow graph optimization in ifi
Proc. of a conference on Functional programming languages and computer architecture
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Copy elimination in single assignment languages
Copy elimination in single assignment languages
A report on the Sisal language project
Journal of Parallel and Distributed Computing - Special issue: data-flow processing
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Update analysis and the efficient implementation of functional aggregates
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Retire Fortran?: a debate rekindled
Communications of the ACM
The aggregate update problem in functional programming systems
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The VAL Language: Description and Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical interprocedural data flow analysis algorithm
Communications of the ACM
Optimizing Supercompilers for Supercomputers
Optimizing Supercompilers for Supercomputers
A Decoupled Data-Driven Architecture with Vectors and Macro Actors
CONPAR 90/VAPP IV Proceedings of the Joint International Conference on Vector and Parallel Processing
VAL- ORIENTED ALGORITHMIC LANGUAGE, PRELIMINARY REFERENCE MANUAL
VAL- ORIENTED ALGORITHMIC LANGUAGE, PRELIMINARY REFERENCE MANUAL
Graph transformation algorithms for array memory optimization in applicative languages
Graph transformation algorithms for array memory optimization in applicative languages
Compilation techniques for high-performance applicative computation
Compilation techniques for high-performance applicative computation
Parallel Implementations of the Selection Problem: A Case Study
International Journal of Parallel Programming
Compiler support for efficient processing of XML datasets
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Shared memory multiprocessor support for functional array processing in SAC
Journal of Functional Programming
Index vector elimination: making index vectors affordable
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
A matrix-type for performance–portability
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
Hi-index | 0.00 |
In this paper, we discuss and evaluate three optimizations for reducing memory management overhead and data copying costs in SISAL 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 SISAL Compiler with rewarding improvements in SISAL program performance on vector-parallel machines such as those built by Cray Computer Corporation, Convex, and Cray Research.Index Terms驴Functional languages, parallel computing, vector computing, imperative languages, copy elimination, storage optimizations, arrays.