Matches in SemOpenAlex for { <https://semopenalex.org/work/W2206208003> ?p ?o ?g. }
Showing items 1 to 97 of
97
with 100 items per page.
- W2206208003 abstract "Memoization is the technique of saving the results of executions so that future executions can be omitted when the input set repeats. Memoization has been proposed in previous literature at the instruction, basic block, and function levels using hardware, as well as pure software--level approaches including changes to programming language. In this article, we focus on software memoization for procedural languages such as C and Fortran at the granularity of a function. We propose a simple linker-based technique for enabling software memoization of any dynamically linked pure function by function interception and illustrate our framework using a set of computationally expensive pure functions—the transcendental functions. Transcendental functions are those that cannot be expressed in terms of a finite sequence of algebraic operations (trigonometric functions, exponential functions, etc.) and hence are computationally expensive. Our technique does not need the availability of source code and thus can even be applied to commercial applications, as well as applications with legacy codes. As far as users are concerned, enabling memoization is as simple as setting an environment variable. Our framework does not make any specific assumptions about the underlying architecture or compiler toolchains and can work with a variety of current architectures. We present experimental results for a x86-64 platform using both gcc and icc compiler toolchains, and an ARM Cortex-A9 platform using gcc. Our experiments include a mix of real-world programs and standard benchmark suites: SPEC and Splash2x. On standard benchmark applications that extensively call the transcendental functions, we report memoization benefits of up to 50% on Intel Ivy Bridge and up to 10% on ARM Cortex-A9. Memoization was able to regain a performance loss of 76% in bwaves due to a known performance bug in the GNU implementation of the pow function. The same benchmark on ARM Cortex-A9 benefited by more than 200%." @default.
- W2206208003 created "2016-06-24" @default.
- W2206208003 creator A5026132133 @default.
- W2206208003 creator A5035820459 @default.
- W2206208003 creator A5068551139 @default.
- W2206208003 creator A5075222745 @default.
- W2206208003 date "2015-06-24" @default.
- W2206208003 modified "2023-09-26" @default.
- W2206208003 title "Intercepting Functions for Memoization" @default.
- W2206208003 cites W1973789144 @default.
- W2206208003 cites W1976517701 @default.
- W2206208003 cites W1980201123 @default.
- W2206208003 cites W2036853599 @default.
- W2206208003 cites W2038639550 @default.
- W2206208003 cites W2063886734 @default.
- W2206208003 cites W2105138864 @default.
- W2206208003 cites W2161992906 @default.
- W2206208003 cites W2166773037 @default.
- W2206208003 cites W2169875292 @default.
- W2206208003 cites W2187230075 @default.
- W2206208003 cites W4239813889 @default.
- W2206208003 cites W4240181815 @default.
- W2206208003 doi "https://doi.org/10.1145/2751559" @default.
- W2206208003 hasPublicationYear "2015" @default.
- W2206208003 type Work @default.
- W2206208003 sameAs 2206208003 @default.
- W2206208003 citedByCount "24" @default.
- W2206208003 countsByYear W22062080032016 @default.
- W2206208003 countsByYear W22062080032017 @default.
- W2206208003 countsByYear W22062080032018 @default.
- W2206208003 countsByYear W22062080032019 @default.
- W2206208003 countsByYear W22062080032020 @default.
- W2206208003 countsByYear W22062080032021 @default.
- W2206208003 countsByYear W22062080032022 @default.
- W2206208003 countsByYear W22062080032023 @default.
- W2206208003 crossrefType "journal-article" @default.
- W2206208003 hasAuthorship W2206208003A5026132133 @default.
- W2206208003 hasAuthorship W2206208003A5035820459 @default.
- W2206208003 hasAuthorship W2206208003A5068551139 @default.
- W2206208003 hasAuthorship W2206208003A5075222745 @default.
- W2206208003 hasBestOaLocation W22062080031 @default.
- W2206208003 hasConcept C11413529 @default.
- W2206208003 hasConcept C13280743 @default.
- W2206208003 hasConcept C134306372 @default.
- W2206208003 hasConcept C169590947 @default.
- W2206208003 hasConcept C173608175 @default.
- W2206208003 hasConcept C185798385 @default.
- W2206208003 hasConcept C186644900 @default.
- W2206208003 hasConcept C199360897 @default.
- W2206208003 hasConcept C205649164 @default.
- W2206208003 hasConcept C33923547 @default.
- W2206208003 hasConcept C41008148 @default.
- W2206208003 hasConcept C42560504 @default.
- W2206208003 hasConcept C43321923 @default.
- W2206208003 hasConcept C79516417 @default.
- W2206208003 hasConceptScore W2206208003C11413529 @default.
- W2206208003 hasConceptScore W2206208003C13280743 @default.
- W2206208003 hasConceptScore W2206208003C134306372 @default.
- W2206208003 hasConceptScore W2206208003C169590947 @default.
- W2206208003 hasConceptScore W2206208003C173608175 @default.
- W2206208003 hasConceptScore W2206208003C185798385 @default.
- W2206208003 hasConceptScore W2206208003C186644900 @default.
- W2206208003 hasConceptScore W2206208003C199360897 @default.
- W2206208003 hasConceptScore W2206208003C205649164 @default.
- W2206208003 hasConceptScore W2206208003C33923547 @default.
- W2206208003 hasConceptScore W2206208003C41008148 @default.
- W2206208003 hasConceptScore W2206208003C42560504 @default.
- W2206208003 hasConceptScore W2206208003C43321923 @default.
- W2206208003 hasConceptScore W2206208003C79516417 @default.
- W2206208003 hasIssue "2" @default.
- W2206208003 hasLocation W22062080031 @default.
- W2206208003 hasLocation W220620800310 @default.
- W2206208003 hasLocation W22062080032 @default.
- W2206208003 hasLocation W22062080033 @default.
- W2206208003 hasLocation W22062080034 @default.
- W2206208003 hasLocation W22062080035 @default.
- W2206208003 hasLocation W22062080036 @default.
- W2206208003 hasLocation W22062080037 @default.
- W2206208003 hasLocation W22062080038 @default.
- W2206208003 hasLocation W22062080039 @default.
- W2206208003 hasOpenAccess W2206208003 @default.
- W2206208003 hasPrimaryLocation W22062080031 @default.
- W2206208003 hasRelatedWork W1497385637 @default.
- W2206208003 hasRelatedWork W1541585229 @default.
- W2206208003 hasRelatedWork W1583465708 @default.
- W2206208003 hasRelatedWork W2044422526 @default.
- W2206208003 hasRelatedWork W2086733238 @default.
- W2206208003 hasRelatedWork W2192862863 @default.
- W2206208003 hasRelatedWork W2369288331 @default.
- W2206208003 hasRelatedWork W2519339279 @default.
- W2206208003 hasRelatedWork W2467097043 @default.
- W2206208003 hasRelatedWork W2479014312 @default.
- W2206208003 hasVolume "12" @default.
- W2206208003 isParatext "false" @default.
- W2206208003 isRetracted "false" @default.
- W2206208003 magId "2206208003" @default.
- W2206208003 workType "article" @default.