ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Theory of linear and integer programming
Theory of linear and integer programming
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
A report on the Sisal language project
Journal of Parallel and Distributed Computing - Special issue: data-flow processing
The data alignment phase in compiling programs for distributed-memory machines
Journal of Parallel and Distributed Computing
Regular partitioning for synthesizing fixed-size systolic arrays
Integration, the VLSI Journal
The ALPHA language and its use for the design of systolic arrays
Journal of VLSI Signal Processing Systems - Special issue: algorithms and parallel VSLI architecture
Array-data flow analysis and its use in array privatization
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Some efficient solutions to the affine scheduling problem: I. One-dimensional time
International Journal of Parallel Programming
Deriving imperative code from functional programs
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Schedule-independent storage mapping for loops
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
The aggregate update problem in functional programming systems
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Organization of Computations for Uniform Recurrence Equations
Journal of the ACM (JACM)
Generation of Efficient Nested Loops from Polyhedra
International Journal of Parallel Programming - Special issue on instruction-level parallelism and parallelizing compilation, part 2
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Loop Transformations for Restructuring Compilers: The Foundations
Loop Transformations for Restructuring Compilers: The Foundations
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
A toolbox for affine recurrence equations parallelization
HPCN Europe '95 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
On deriving data parallel code from a functional program
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
The Loop Parallelizer LooPo-Announcement
LCPC '96 Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing
Optimizing Storage Size for Static Control Programs in Automatic Parallelizers
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Memory Reuse Analysis in the Polyhedral Model
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
The naive execution of affine recurrence equations
ASAP '95 Proceedings of the IEEE International Conference on Application Specific Array Processors
Storage Size Reduction by In-place Mapping of Arrays
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Tiling and Memory Reuse for Sequences of Nested Loops
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
On the Parallel Execution Time of Tiled Loops
IEEE Transactions on Parallel and Distributed Systems
Advanced copy propagation for arrays
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Lattice-based memory allocation
Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems
Storage requirement estimation for optimized design of data intensive applications
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Applications of storage mapping optimization to register promotion
Proceedings of the 18th annual international conference on Supercomputing
Lattice-Based Memory Allocation
IEEE Transactions on Computers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Some ways to reduce the space dimension in polyhedra computations
Formal Methods in System Design
Proceedings of the 20th annual international conference on Supercomputing
Classifying interprocess communication in process network representation of nested-loop programs
ACM Transactions on Embedded Computing Systems (TECS) - SPECIAL ISSUE SCOPES 2005
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Mapping multi-dimensional signals into hierarchical memory organizations
Proceedings of the conference on Design, automation and test in Europe
Systematic intermediate sequence removal for reduced memory accesses
SCOPES '07 Proceedingsof the 10th international workshop on Software & compilers for embedded systems
MPSoC memory optimization using program transformation
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A step towards unifying schedule and storage optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mapping model with inter-array memory sharing for multidimensional signal processing
Proceedings of the 2007 IEEE/ACM international conference on Computer-aided design
Integrated Computer-Aided Engineering
A domain specific interconnect for reconfigurable computing
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Guidance of Loop Ordering for Reduced Memory Usage in Signal Processing Applications
Journal of Signal Processing Systems
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Signal Assignment Model for the Memory Management of Multidimensional Signal Processing Applications
Journal of Signal Processing Systems
Transformation to dynamic single assignment using a simple data flow analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Improved loop tiling based on the removal of spurious false dependences
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Memory reuse optimizations in the R-Stream compiler
Proceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units
Hi-index | 0.00 |
The polyhedral model provides a single unified foundation for systolic array synthesis and automatic parallelization of loop programs. We investigate the problem of memory reuse when compiling Alpha (a functional language based on this model). Direct compilation would require unacceptably large memory (for example O(n3) for matrix multiplication). Researchers have previously addressed the problem of memory reuse, and the analysis that this entails for projective memory allocations. This paper addresses, for a given schedule, the choice of the projections so as to minimize the volume of the residual memory. We prove tight bounds on the number of linearly independent projection vectors. Our method is constructive, yielding an optimal memory allocation. We extend the method to modular functions, and deal with the subsequent problems of code generation. Our ideas are illustrated on a number of examples generated by the current version of the Alpha compiler.