2018 Design, Automation &Amp; Test in Europe Conference &Amp; Exhibition (DATE) 2018
DOI: 10.23919/date.2018.8342183
|View full text |Cite
|
Sign up to set email alerts
|

SOCRATES — A seamless online compiler and system runtime autotuning framework for energy-aware applications

Abstract: Configuring program parallelism and selecting optimal compiler options according to the underlying platform architecture is a difficult task. Tipically, this task is either assigned to the programmer or done by a standard one-fitsall policy generated by the compiler or runtime system. A runtime selection of the best configuration requires the insertion of a lot of glue code for profiling and runtime selection. This represents a programming wall for application developers. This paper presents a structured appro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2
1

Relationship

4
3

Authors

Journals

citations
Cited by 14 publications
(11 citation statements)
references
References 12 publications
(9 reference statements)
0
11
0
Order By: Relevance
“…Fig. 10 shows a fragment of a simplified version of such a strategy (used in Gadioli et al [37]), which optimizes each version differently by choosing different compilation flags. In other instances, we also change the code of each version, e.g., through the application of different loop transformations.…”
Section: Multiversioningmentioning
confidence: 99%
See 1 more Smart Citation
“…Fig. 10 shows a fragment of a simplified version of such a strategy (used in Gadioli et al [37]), which optimizes each version differently by choosing different compilation flags. In other instances, we also change the code of each version, e.g., through the application of different loop transformations.…”
Section: Multiversioningmentioning
confidence: 99%
“…This kind of strategy can be extended with other variables to create more complex applications with more potential for performance optimization. For instance, in Gadioli et al [37], we targeted kernels with OpenMP pragmas, and we added another dimension to multiversioning by also considering two possible values for the proc_bind clause. In the end, we exposed three knobs: the number of threads, compiler optimization flags, and the proc_bind value.…”
Section: Multiversioningmentioning
confidence: 99%
“…Online tuning is easier to implement than dynamic tuning (there is no runtime compilation), but it is not practical when the number of possible code variants is high. An examples of an online tuner is SOCRATES [17,33].…”
Section: Related Workmentioning
confidence: 99%
“…To hide the complexity of the application enhancement, we use LARA aspects for configuring mARGOt and for instrumenting the code with related API. Figure 10 provides a simple example of a LARA aspect where mARGOt has been configured (lines 5-20) to actuate on a software knob Knob1 and target error and throughput metrics [25]. In particular, the optimization problem has been defined as the maximization of the throughput while keeping the error under a certain threshold.…”
Section: Self-adaptivity and Autotuningmentioning
confidence: 99%