Lattice-based memory allocation
TL;DR: A new mathematical framework is developed, based on critical lattices, that subsumes the previous approaches and provides new insight into the problem of memory reuse, and proposes and analyzes several practical strategies for finding strictly admissible integer latticing, either optimal or optimal up to a multiplicative factor, and, hence, memory-saving modular mappings.
read more
Abstract: We investigate the problem of memory reuse in order to reduce the memory needed to store an array variable. We develop techniques that can lead to smaller memory requirements in the synthesis of dedicated processors or to more effective use by compiled code of software-controlled scratchpad memory. Memory reuse is well-understood for allocating registers to hold scalar variables. Its extension to arrays has been studied recently for multimedia applications, for loop parallelization, and for circuit synthesis from recurrence equations. In all such studies, the introduction of modulo operations to an otherwise affine mapping (of loop or array indices to memory locations) achieves the desired reuse. We develop here a new mathematical framework, based on critical lattices, that subsumes the previous approaches and provides new insight. We first consider the set of indices that conflict, those that cannot be mapped to the same memory cell. Next, we construct the set of differences of conflicting indices. We establish a correspondence between a valid modular mapping and a strictly-admissible integer lattice-one having no nonzero element in common with the set of conflicting index differences. The memory required by an optimal modular mapping is equal to the determinant of the corresponding lattice. The memory reuse problem is thus reduced to the (still interesting and nontrivial) problem of finding a strictly admissible integer lattice-of least determinant. We then propose and analyze several practical strategies for finding strictly admissible integer lattices, either optimal or optimal up to a multiplicative factor, and, hence, memory-saving modular mappings. We explain and analyze previous approaches in terms of our new framework.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures
Citations
Polyhedral-based data reuse optimization for configurable computing
Louis-Noël Pouchet,Peng Zhang,P. Sadayappan,Jason Cong +3 more
- 11 Feb 2013
TL;DR: In this article, a C-to-FPGA framework is presented to implement data reuse through aggressive loop transformation-based program restructuring, which can satisfy hardware resource constraints (scratchpad size) while still aggressively exploiting data reuse.
pn: a tool for improved derivation of process networks
TL;DR: This paper presents the compiler techniques for facilitating the migration from a sequential application specification to a parallel application specification using the process network model of computation, and describes a technique for compile-time memory requirement estimation.
Patent
Systems, methods and apparatus for distributed decision processing
James Ezick,Richard Lethin,Nicolas Vasilache +2 more
- 08 Mar 2010
TL;DR: In this paper, two custom computing apparatuses are used to resolve the satisfiability of a logical formula and provide an example, for the sole purpose of complying with the Abstract requirement rules, with the explicit understanding that it will not be used to interpret or limit the scope or the meaning of the claims.
126
Lattice-based memory allocation
Alain Darte,Robert Schreiber,Gilles Villard +2 more
- 30 Oct 2003
TL;DR: A new mathematical framework is developed, based on critical lattices, that subsumes the previous approaches and provides new insight into the problem of memory reuse, and proposes and analyzes several practical strategies for finding strictly admissible integer latticing, either optimal or optimal up to a multiplicative factor, and, hence, memory-saving modular mappings.
Polyhedral-Based Data Reuse Optimization for Configurable Computing Louis-No¨
Peng Zhang,P. Sadayappan,Jason Cong +2 more
- 01 Jan 2013
TL;DR: This work uses the power and expressiveness of the polyhedral compilation model to develop a multi-objective optimization system for off-chip communications management and implements a fast design space exploration technique for effective optimization of program performance using the Xilinx high-level synthesis tool.
References
Factoring Polynomials with Rational Coefficients
TL;DR: This paper presents a polynomial-time algorithm to solve the following problem: given a non-zeroPolynomial fe Q(X) in one variable with rational coefficients, find the decomposition of f into irreducible factors in Q (X).
Factoring polynomials with rational coeficients
H.W. Lenstra,A.K. Lenstra,L. Lovfiasz +2 more
- 01 Jan 1982
TL;DR: In this paper, a polynomial-time algorithm was proposed to decompose a primitive polynomials into irreducible factors in Z(X) if the greatest common divisor of its coefficients is 1.
•Book
Geometry of Numbers
Peter M. Gruber
- 15 May 1987
TL;DR: Geometry of numbers is closely related to other branches of number theory such as algebraic number theory and Diophantine approximation and a flourishing offspring is discrete geometry, developed mainly by Fejes Toth and his school.
736
•Book
An algorithmic theory of numbers, graphs, and convexity
László Lovász
- 01 Jan 1986
TL;DR: How to Round Numbers Preliminaries and some Applications in Combinatorics Cuts and Joins Chromatic Number, Cliques and Perfect Graphs Minimizing a Submodular Function.
444
The Organization and Use of Parallel Memories
Paul Budnik,David J. Kuck +1 more
TL;DR: As computer CPUs get faster, primary memories tend to be organized in parallel banks, and important questions of design and use of such memories are discussed.
311
Related Papers (5)
Michael Wolf,Monica S. Lam +1 more
- 01 May 1991





