2018
DOI: 10.1016/j.softx.2018.03.006
|View full text |Cite
|
Sign up to set email alerts
|

libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
14
0

Year Published

2018
2018
2019
2019

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(14 citation statements)
references
References 10 publications
0
14
0
Order By: Relevance
“…With this knowledge, we will be able to improve the policy and therefore the capabilities of the resource manager in taking decisions at run-time. Furthermore, we plan to extend the capabilities of the programming model to include dynamic recompilation of the kernels, through a partial dynamic compilation library supporting arbitrary C++ code [4].…”
Section: Discussionmentioning
confidence: 99%
“…With this knowledge, we will be able to improve the policy and therefore the capabilities of the resource manager in taking decisions at run-time. Furthermore, we plan to extend the capabilities of the programming model to include dynamic recompilation of the kernels, through a partial dynamic compilation library supporting arbitrary C++ code [4].…”
Section: Discussionmentioning
confidence: 99%
“…The subscriber registers a callback function to the given topic which is called every time a new message is received. To let LARA take advantage of this monitoring mechanism we have designed the Collector API, which allow the 1 aspectdef mARGOt_Aspect 2 / * Input: TargetFunctionCall * / 3 input targetCallName end 4 / * mARGOt configuration * / MargotCFun.LE, 0.03, 'error'); 12 13 / * optimization problem * / 14 var problem = targetBlock.newState('defaultState'); 15 problem.maximizeMetric('throughput'); 16 problem.subjectTo('my_error_goal'); 17 18 / * generate the information needed 19 for enhancing the application code * / 20 codegen = MargotCodeGen.fromConfig(config, $targetCallName); initialization of the Collector component associated with a specific topic that keeps an internal state of the remote sensor updated. This internal state can then be queried asynchronously by the Collector API to gather its value.…”
Section: Monitoringmentioning
confidence: 99%
“…This problem has a non-trivial impact on HPC infrastructures, as such systems usually aims at minimizing the access to persistent memory due to its intrinsic high-latency. Although recent proposals have been made to simplify the configuration of compiler settings [14], the limitation given by the memory access still persists. The JIT paradigm removes the problems of the abovementioned approaches, as it does not create any persistent object and it integrates the full compiler functionalities within the adaptive application.…”
Section: Continuous Optimization Via Dynamic Compilationmentioning
confidence: 99%
“…Autotuning frameworks can select one of a set of different versions of the same computational kernel to best fit the HPC system runtime conditions, such as system resource partitioning, as long as such versions are generated at compile time. Some frameworks are actually able to perform continuous optimization, generally through specific versions of a dynamic compiler [11; 12], or through cloud-based platforms [13], or by leveraging an external compiler through a dedicated API [14].…”
Section: Introductionmentioning
confidence: 99%