We have proposed mechanisms to implement function memoization at a software level as part of our effort to improve sequential code performance. We have analyzed the potential of function memoization on applications and its performance gain on current architectures. We have proposed three schemes - a simple load time approach which works for any dynamically linked function, a compile time approach using LLVM framework which can enable memoization for any program function and also a hardware proposal for doing memoization in hardware and its potential benefits. Demonstration of the link time approach with transcendental functions showed that memoization is applicable and gives good benefit even under modern architectures and compilers (with t...
Redundant computations appear during the execution of real programs. Multiple factors contribute to ...
AbstractLanguage processors may be implemented directly as functions. In a programming language that...
Transactional Memory (TM) is a new programming paradigm that offers an alternative to traditional lo...
We have proposed mechanisms to implement function memoization at a software level as part of our eff...
International audienceMemoization is the technique of saving the results of computations so that fut...
International audienceMemoization is the technique of saving result of executions so that future exe...
International audienceImproving execution time and energy efficiency is needed for many applications...
Many functions perform redundant calculations. Within a single function invocation, several sub-func...
Memoization has attracted considerable interest because it speeds up programs by reducing instructio...
This paper describes the design and evaluation of an auto-memoization processor. The major point of ...
Abstract. Memoization is a well-known technique for improving the performance of a program, but it h...
We present a framework for applying memoization selectively. The framework provides programmer contr...
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performance...
It is shown that a process similar to Earley's algorithm can be generated by a simple top-down ...
Real-time systems have more and more ways to communicate wirelessly with external users. These same ...
Redundant computations appear during the execution of real programs. Multiple factors contribute to ...
AbstractLanguage processors may be implemented directly as functions. In a programming language that...
Transactional Memory (TM) is a new programming paradigm that offers an alternative to traditional lo...
We have proposed mechanisms to implement function memoization at a software level as part of our eff...
International audienceMemoization is the technique of saving the results of computations so that fut...
International audienceMemoization is the technique of saving result of executions so that future exe...
International audienceImproving execution time and energy efficiency is needed for many applications...
Many functions perform redundant calculations. Within a single function invocation, several sub-func...
Memoization has attracted considerable interest because it speeds up programs by reducing instructio...
This paper describes the design and evaluation of an auto-memoization processor. The major point of ...
Abstract. Memoization is a well-known technique for improving the performance of a program, but it h...
We present a framework for applying memoization selectively. The framework provides programmer contr...
Le concept de processeur multicœurs constitue le facteur dominant pour offrir des hautes performance...
It is shown that a process similar to Earley's algorithm can be generated by a simple top-down ...
Real-time systems have more and more ways to communicate wirelessly with external users. These same ...
Redundant computations appear during the execution of real programs. Multiple factors contribute to ...
AbstractLanguage processors may be implemented directly as functions. In a programming language that...
Transactional Memory (TM) is a new programming paradigm that offers an alternative to traditional lo...