- Polyhedral Expression Propagation - CC 2018
Doerfert, J., Sharma, S. and Hack, S.
Proceedings of the 27th International Conference on Compiler Construction, 2018.
[url]
[pdf]
[bib]
@conference{doerfert2018expressionprop,
author = {Doerfert, Johannes and Sharma, Shrey and Hack, Sebastian},
title = {{P}olyhedral {E}xpression {P}ropagation},
booktitle = {Proceedings of the 27th International Conference on Compiler Construction},
series = {CC 2018},
booktitle_short = {CC},
year = {2018},
numpages = {12},
keywords = {polyhedral model, scalar removal, dependence removal, temporary memory elimination, recurrences},
url={http://compilers.cs.uni-saarland.de/papers/doerfert_expr_prop.pdf},
webpdf={http://compilers.cs.uni-saarland.de/papers/doerfert_expr_prop.pdf},
}
- Optimistic loop optimization - CGO 2017
Doerfert, J., Grosser, T. and Hack, S.
International Symposium on Code Generation and Optimization, pages 292–304, 2017.
[url]
[pdf]
[bib]
@conference{doerfert2017optimistic,
title={Optimistic loop optimization},
author={Doerfert, Johannes and Grosser, Tobias and Hack, Sebastian},
booktitle={International Symposium on Code Generation and Optimization},
booktitle_short={CGO},
pages={292--304},
year={2017},
organization={IEEE},
url={http://compilers.cs.uni-saarland.de/papers/doerfert_cgo17.pdf},
webpdf={http://compilers.cs.uni-saarland.de/papers/doerfert_cgo17.pdf},
}
- Input Space Splitting for OpenCL - CC 2016
Moll, S., Doerfert, J. and Hack, S.
Proceedings of the 25th International Conference on Compiler Construction, pages 251–260, ACM, 2016.
[doi]
[url]
[pdf]
[bib]
@Conference{MDH:2016:pollocl,
author = {Moll, Simon and Doerfert, Johannes and Hack, Sebastian},
title = {{I}nput {S}pace {S}plitting for {O}pen{CL}},
booktitle = {Proceedings of the 25th International Conference on Compiler Construction},
series = {CC 2016},
booktitle_short = {CC},
year = {2016},
isbn = {978-1-4503-4241-4},
location = {Barcelona, Spain},
pages = {251--260},
numpages = {10},
url = {http://doi.acm.org/10.1145/2892208.2892217},
doi = {10.1145/2892208.2892217},
acmid = {2892217},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {Divergence, OpenCL, Polyhedral Representation, SPMD, Vectorization},
webpdf={http://compilers.cs.uni-saarland.de/papers/moll_pollocl.pdf}
}
- Runtime Pointer Disambiguation - OOPSLA 2015
Alves, R., Gruber, F., Doerfert, J., Labrineas, A., Grosser, T., Rastello, F. and Pereira, F. M. Q.
International Conference on Object Oriented Programming Systems, Languages and Applications, 2015.
[url]
[pdf]
[bib]
@conference{Alves15OOPSLA,
author = {Rafael Alves and Fabian Gruber and Johannes Doerfert and Alexandros Labrineas and Tobias Grosser and Fabrice Rastello and Fernando Magno Quintão Pereira},
title = {{R}untime {P}ointer {D}isambiguation},
booktitle = {International Conference on Object Oriented Programming Systems, Languages and Applications},
booktitle_short = {OOPSLA},
year = {2015},
url = {http://homepages.dcc.ufmg.br/~fernando/publications/papers/OOPSLA15.pdf},
webpdf = {http://homepages.dcc.ufmg.br/~fernando/publications/papers/OOPSLA15.pdf},
}
- Architecture-Parametric Timing Analysis
Reineke, J. and Doerfert, J.
RTAS, 2014.
[url]
[bib]
@CONFERENCE{Reineke14,
author = {Jan Reineke and Johannes Doerfert},
title = {Architecture-Parametric Timing Analysis},
booktitle = {RTAS},
year = {2014},
month = {April},
url = {http://embedded.cs.uni-saarland.de/publications/ArchitectureParametricTimingAnalysis-RTAS2014.pdf}
}
- Impact of Resource Sharing on Performance and Performance Prediction: A Survey
Abel, A., Benz, F., Doerfert, J., Dörr, B., Hahn, S., Haupenthal, F., Jacobs, M., Moin, A. H., Reineke, J., Schommer, B. and Wilhelm, R.
[doi]
[pdf]
[bib]
@CONFERENCE{AbelBDDHHJMRSW:2013:ResSharing,
author = {Andreas Abel and Florian Benz and Johannes Doerfert and Barbara D{\"o}rr and Sebastian Hahn and Florian Haupenthal and Michael Jacobs and Amir H. Moin and Jan Reineke and Bernhard Schommer and Reinhard Wilhelm},
title = {Impact of Resource Sharing on Performance and Performance Prediction: A Survey},
series = {CONCUR},
year = {2013},
pages = {25-43},
ee = {http://dx.doi.org/10.1007/978-3-642-40184-8_3},
crossref = {DBLP:conf/concur/2013},
doi = {10.1007/978-3-642-40184-8_3},
bibsource = {DBLP, http://dblp.uni-trier.de},
webpdf = {http://embedded.cs.uni-saarland.de/publications/ResourceSharingSurvey.pdf},
abstract = {
Multi-core processors are increasingly considered as execution platforms for
embedded systems because of their good performance/ energy ratio. However,
the interference on shared resources poses several problems. It may severely
reduce the performance of tasks executed on the cores, and it increases the
complexity of timing analysis and/or decreases the precision of its results.
In this paper, we survey recent work on the impact of shared buses, caches,
and other resources on performance and performance prediction.
},
}
- Polly's Polyhedral Scheduling in the Presence of Reductions - IMPACT 2015
Doerfert, J., Streit, K., Hack, S. and Benaissa, Z.
International Workshop on Polyhedral Compilation Techniques, 2015.
[pdf]
[bib]
@INPROCEEDINGS{Doerfert:2015:PollyRed,
title = {Polly's Polyhedral Scheduling in the Presence of Reductions},
author = {Johannes Doerfert and Kevin Streit and Sebastian Hack and Zino Benaissa},
year = {2015},
month = {Jan},
address = {Amsterdam, Netherlands},
booktitle = {{I}nternational {W}orkshop on {P}olyhedral {C}ompilation {T}echniques},
booktitle_short = {IMPACT},
webpdf = {http://impact.gforge.inria.fr/impact2015/papers/impact2015-doerfert.pdf},
abstract = {
The polyhedral model provides a powerful mathematical abstraction to
enable effective optimization of loop nests with respect to a given
optimization goal, e.g., exploiting parallelism. Unexploited
reduction properties are a frequent reason for polyhedral optimizers
to assume parallelism prohibiting dependences. To our knowledge, no
polyhedral loop optimizer available in any production compiler
provides support for reductions. In this paper, we show that
leveraging the parallelism of reductions can lead to a significant
performance increase. We give a precise, dependence based, definition
of reductions and discuss ways to extend polyhedral optimization to
exploit the associativity and commutativity of reduction
computations. We have implemented a reduction-enabled scheduling
approach in the Polly polyhedral optimizer and evaluate it on the
standard Polybench 3.2 benchmark suite. We were able to detect and
model all 52 arithmetic reductions and achieve speedups up to 2.21×
on a quad core machine by exploiting the multidimensional reduction
in the BiCG benchmark.
},
}
- SPolly: Speculative Optimizations in the Polyhedral Model - IMPACT 2013
Doerfert, J., Hammacher, C., Streit, K. and Hack, S.
International Workshop on Polyhedral Compilation Techniques, pages 55–61, 2013.
[pdf]
[bib]
@INPROCEEDINGS{Doerfert:2013:SPolly,
title = {{SP}olly: {S}peculative {O}ptimizations in the {P}olyhedral {M}odel},
author = {Johannes Doerfert and Clemens Hammacher and Kevin Streit and Sebastian Hack},
year = {2013},
month = jan,
address = {Berlin, Germany},
booktitle = {{I}nternational {W}orkshop on {P}olyhedral {C}ompilation {T}echniques},
booktitle_short = {IMPACT},
editors = {Armin Größlinger and Louis-Noël Pouchet},
pages = {55--61},
webpdf = {http://www.st.cs.uni-saarland.de/publications/files/doerfert-impact-2013.pdf},
abstract = {
The polyhedral model is only applicable to code regions that form static
control parts (SCoPs) or slight extensions thereof. To apply polyhedral
techniques to a piece of code, the compiler usually checks, by static
analysis, whether all SCoP conditions are fulfilled. However, in many
codes, the compiler fails to verify that this is the case. In this paper
we investigate the rejection causes as reported by Polly, the polyhedral
optimizer of a state-of-the-art compiler. We show that many rejections
follow from the conservative overapproximation of the employed static
analyses. In SPolly, a speculative extension of Polly, we employ the
knowledge of runtime features to supersede this overapproximation. All
speculatively generated variants form valid SCoPs and are optimizable by
the facilities of Polly. Our evaluation shows that SPolly is able to
effectively widen the applicability of polyhedral optimization. On the
SPEC 2000 suite, the number of optimizable code regions is increased by
131 percent. In 10 out of the 31 benchmarks of the PolyBench suite,
SPolly achieves speedups of up to 11-fold as compared to plain Polly.
},
}