- A Dynamic Program Analysis to find Floating-Point Accuracy Problems - PLDI 2012
Benz, F., Hildebrandt, A. and Hack, S.
PLDI '12: Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2012.
[more]
[bib]
@CONFERENCE{BHH:2012:fp,
author = {Florian Benz and Andreas Hildebrandt and Sebastian Hack},
title = {A Dynamic Program Analysis to find Floating-Point Accuracy Problems},
booktitle = {PLDI '12: Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation},
booktitle_short = {PLDI 2012},
year = {2012},
acc_rate = {18.8},
accepted = {48},
submitted = {255},
url = {http://www.cdl.uni-saarland.de/papers/benz_fp.pdf}
},
- Sambamba: A Runtime System for Online Adaptive Parallelization - CC 2012
Streit, K., Hammacher, C., Zeller, A. and Hack, S.
Compiler Construction, 2012.
[more]
[bib]
@CONFERENCE{SHZH:2012:sambamba,
author = {Kevin Streit and Clemens Hammacher and Andreas Zeller and Sebastian Hack},
title = {Sambamba: A Runtime System for Online Adaptive Parallelization},
booktitle = {Compiler Construction},
booktitle_short = {CC 2012},
year = {2012},
url = {http://www.cdl.uni-saarland.de/papers/streit_sambamba.pdf}
},
- Improving Performance of OpenCL on CPUs - CC 2012
Karrenberg, R. and Hack, S.
Compiler Construction, 2012.
[more]
[bib]
@CONFERENCE{KH:2012:opencl,
author = {Ralf Karrenberg and Sebastian Hack},
title = {Improving Performance of OpenCL on CPUs},
booktitle = {Compiler Construction},
booktitle_short = {CC 2012},
year = {2012},
url = {http://www.cdl.uni-saarland.de/papers/karrenberg_opencl.pdf}
},
- Extending a C-like Language for Portable SIMD Programming - PPoPP 2012
Leißa, R., Hack, S. and Wald, I.
Principles and Practice of Parallel Programming, 2012.
[doi]
[bib]
@CONFERENCE{LHW:2012:vecimp,
author = {Roland Lei{\ss}a and Sebastian Hack and Ingo Wald},
title = {Extending a C-like Language for Portable SIMD Programming},
booktitle = {Principles and Practice of Parallel Programming},
booktitle_short = {PPoPP 2012},
year = {2012},
doi = {http://dx.doi.org/10.1145/2145816.2145825},
acc_rate = {14.9},
accepted = {26},
submitted = {175},
},
- Graph-Coloring and Treescan Register Allocation using Repairing - CASES 2011
Colombet, Q., Boissinot, B., Brisk, P., Hack, S. and Rastello, F.
Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems, pages 45–54, ACM, 2011.
[doi]
[more]
[bib]
@conference{Colombet:2011:GTR,
author = {Colombet, Quentin and Boissinot, Benoit and Brisk, Philip and Hack, Sebastian and Rastello, Fabrice},
title = {Graph-{C}oloring and {T}reescan {R}egister {A}llocation using {R}epairing},
booktitle = {Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems},
booktitle_short = {CASES 2011},
series = {CASES '11},
year = {2011},
isbn = {978-1-4503-0713-0},
location = {Taipei, Taiwan},
pages = {45--54},
numpages = {10},
url = {http://doi.acm.org/10.1145/2038698.2038708},
doi = {http://doi.acm.org/10.1145/2038698.2038708},
acmid = {2038708},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {coalescing, coloring, fast register allocation, register constraints, ssa form},
}
- Whole Function Vectorization - CGO 2011
Karrenberg, R. and Hack, S.
Code Generation and Optimization, 2011.
[doi]
[more]
[slides]
[bib]
@CONFERENCE{KH:2011:cgo,
author = {Ralf Karrenberg and Sebastian Hack},
title = {{W}hole {F}unction {V}ectorization},
booktitle = {Code Generation and Optimization},
booktitle_short = {CGO 2011},
year = {2011},
doi = {10.1109/CGO.2011.5764682},
abstract = {
Abstract—Data-parallel programming languages are an important component
in today's parallel computing landscape. Among those are domain-
specific languages like shading languages in graphics (HLSL, GLSL,
RenderMan, etc.) and "general-purpose" languages like CUDA or OpenCL.
Current implementations of those languages on CPUs solely rely on multi-
threading to implement parallelism and ignore the additional intra-core
parallelism provided by the SIMD instruction set of those processors
(like Intel's SSE and the upcoming AVX or Larrabee instruction sets).
In this paper, we discuss several aspects of implementing data-parallel
languages on machines with SIMD instruction sets. Our main contribution
is a language- and platform-independent code transformation that
performs whole-function vectorization on low-level intermediate code
given by a control flow graph in SSA form.
We evaluate our technique in two scenarios: First, incorporated in a
compiler for a domain-specific language used in real-time ray tracing.
Second, in a stand-alone OpenCL driver. We observe average speedup
factors of 3.9 for the ray tracer and factors between 0.6 and 5.2 for
different OpenCL kernels.
},
webslides = {http://www.cdl.uni-saarland.de/projects/wfv/wfv_cgo11_slides.pdf}
url = {http://www.cdl.uni-saarland.de/papers/karrenberg_wfv.pdf}
acc_rate = {26.7},
accepted = {28},
submitted = {105},
}
- AnySL: Efficient and Portable Shading for Ray Tracing - HPG 2010
Karrenberg, R., Rubinstein, D., Slusallek, P. and Hack, S.
Proceedings of the Conference on High Performance Graphics, pages 97–105, Eurographics Association, 2010.
[more]
[slides]
[bib]
@CONFERENCE{KRSH:2010:hpg,
author = {Ralf Karrenberg and Dmitri Rubinstein and Philipp Slusallek and Sebastian Hack},
title = {{AnySL: Efficient and Portable Shading for Ray Tracing}},
booktitle = {Proceedings of the Conference on High Performance Graphics},
series = {HPG '10},
year = {2010},
location = {Saarbrucken, Germany},
pages = {97--105},
numpages = {9},
url = {http://portal.acm.org/citation.cfm?id=1921479.1921495},
acmid = {1921495},
publisher = {Eurographics Association},
address = {Aire-la-Ville, Switzerland, Switzerland},
booktitle_short = {HPG 2010},
abstract = {
While a number of different shading languages have been developed,
their efficient integration into an existing renderer is notoriously
difficult, often boiling down to implementing an entire compiler
toolchain for each language. Furthermore, no shading language is
broadly supported across the variety of rendering systems.
AnySL attacks this issue from multiple directions: We compile shaders
from different languages into a common, portable representation, which
uses subroutine threaded code: Every language operator is translated to
a function call. Thus, the compiled shader is generic with respect to
the used types and operators.
The key component of our system is an embedded compiler that
instantiates this generic code in terms of the renderer's native types
and operations. It allows for flexible code transformations to match
the internal structure of the renderer and eliminates all overhead due
to the subroutine threaded code. For SIMD architectures we
automatically perform vectorization of scalar shaders which speeds up
rendering by a factor of 3.9 on average on SSE. The results are highly
optimized, parallel shaders that operate directly on the internal data
structures of a renderer. We show that both traditional shading
languages such as RenderMan, but also C/C++-based shading languages,
can be fully supported and deliver high performance across different
CPU renderers.
},
webslides = {http://www.cdl.uni-saarland.de/projects/anysl/anysl_hpg10_slides.pdf}
}
- Generating Test Cases for Specification Mining - ISSTA 2010
Dallmeier, V., Knopp, N., Mallon, C., Hack, S. and Zeller, A.
International Symposium on Software Testing and Analysis, pages 85–96, ACM, 2010.
[doi]
[more]
[bib]
@CONFERENCE{DKMHZ:2010:issta,
author = {Valentin Dallmeier and Nikolai Knopp and Christoph Mallon and Sebastian Hack and Andreas Zeller},
title = {{G}enerating {T}est {C}ases {f}or {S}pecification {M}ining},
booktitle_short = {ISSTA 2010},
year = {2010},
booktitle = {International Symposium on Software Testing and Analysis},
series = {ISSTA '10},
isbn = {978-1-60558-823-0},
location = {Trento, Italy},
pages = {85--96},
numpages = {12},
url = {http://doi.acm.org/10.1145/1831708.1831719},
doi = {10.1145/1831708.1831719},
acmid = {1831719},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {specification mining, test case generation, typestate analysis},
}
- Preference-Guided Register Assignment - CC 2010
Braun, M., Mallon, C. and Hack, S.
Compiler Construction 2010, pages 205–223, Springer, 2010.
[doi]
[bib]
@CONFERENCE{BMH:2010:Preference,
author = {Matthias Braun and Christoph Mallon and Sebastian Hack},
title = {{P}reference-{G}uided {R}egister {A}ssignment},
booktitle = {Compiler Construction 2010},
booktitle_short = {CC 2010},
year = {2010},
isbn = {978-3-642-11969-9},
pages = {205--223},
publisher = {Springer},
location = {Paphos, Cyprus},
volume = {6011},
series = {Lecture Notes In Computer Science},
doi = {10.1007/978-3-642-11970-5},
}
- Register Spilling and Live-Range Splitting for SSA-Form
Programs - CC 2009
Braun, M. and Hack, S.
Compiler Construction 2009, pages 174–189, Springer, 2009.
[doi]
[bib]
@CONFERENCE{BH:2009:Spill,
author = {Matthias Braun and Sebastian Hack},
title = {{R}egister {S}pilling and {L}ive-{R}ange {S}plitting for {SSA}-{F}orm
{P}rograms},
booktitle = {Compiler Construction 2009},
year = {2009},
volume = {5501},
series = {Lecture Notes In Computer Science},
pages = {174--189},
publisher = {Springer},
booktitle_short = {CC 2009},
doi = {10.1007/978-3-642-00722-4_13},
location = {York, England}
}
- Profiling Java Programs for Parallelism - IWMSE 2009
Hammacher, C., Streit, K., Hack, S. and Zeller, A.
Proc. 2nd International Workshop on Multi-Core Software Engineering
(IWMSE), 2009.
[bib]
@CONFERENCE{HSHZ:2009:Profiling,
author = {Clemens Hammacher and Kevin Streit and Sebastian Hack and Andreas
Zeller},
title = {{P}rofiling {J}ava {P}rograms for {P}arallelism},
booktitle = {Proc. 2nd International Workshop on Multi-Core Software Engineering
(IWMSE)},
year = {2009},
month = {May},
location = {Vancouver, BC, Canada},
booktitle_short = {IWMSE 2009},
}
- Fast Liveness Checking for SSA-Form Programs - CGO 2008 (Best Paper Award)
Boissinot, B., Hack, S., Grund, D., Dupont-De-Dinechin, B. and Rastello, F.
CGO '08: Proceedings of the sixth annual IEEE/ACM international symposium
on Code generation and optimization, pages 35–44, ACM, 2008.
[doi]
[bib]
@CONFERENCE{BHGDR:2007:SSALiveness,
author = {Benoit Boissinot and Sebastian Hack and Daniel Grund and Beno{\^i}t
Dupont-De-Dinechin and Fabrice Rastello},
title = {{F}ast {L}iveness {C}hecking for {SSA}-{F}orm {P}rograms},
booktitle = {CGO '08: Proceedings of the sixth annual IEEE/ACM international symposium
on Code generation and optimization},
year = {2008},
pages = {35--44},
address = {New York, NY, USA},
publisher = {ACM},
award = {Best Paper Award},
booktitle_short = {CGO 2008},
doi = {10.1145/1356058.1356064},
isbn = {978-1-59593-978-4},
location = {Boston, MA, USA}
}
- Register Coalescing by Graph Recoloring - PLDI 2008
Hack, S. and Goos, G.
PLDI '08: Proceedings of the 2008 ACM SIGPLAN Conference on Programming
Language Design and Implementation, pages 227–237, ACM, 2008.
[doi]
[bib]
@CONFERENCE{HG:2008:Recolor,
author = {Sebastian Hack and Gerhard Goos},
title = {{R}egister {C}oalescing by {G}raph {R}ecoloring},
booktitle = {PLDI '08: Proceedings of the 2008 ACM SIGPLAN Conference on Programming
Language Design and Implementation},
year = {2008},
pages = {227--237},
address = {New York, NY, USA},
publisher = {ACM},
booktitle_short = {PLDI 2008},
doi = {10.1145/1375581.1375610},
isbn = {978-1-59593-860-2},
location = {Tucson, AZ, USA}
}
- A Fast Cutting-Plane Algorithm for Optimal Coalescing - CC 2007 (Best Paper Award)
Grund, D. and Hack, S.
Compiler Construction 2007, pages 111–125, Springer, 2007.
[doi]
[bib]
@CONFERENCE{GH:2007:Coal,
author = {Daniel Grund and Sebastian Hack},
title = {A {F}ast {C}utting-{P}lane {A}lgorithm for {O}ptimal {C}oalescing},
booktitle = {Compiler Construction 2007},
year = {2007},
editor = {Shriram Krishnamurthi and Martin Odersky},
volume = {4420},
series = {Lecture Notes In Computer Science},
pages = {111--125},
month = {March},
publisher = {Springer},
award = {Best Paper Award},
booktitle_short = {CC 2007},
doi = {10.1007/978-3-540-71229-9_8},
location = {Braga, Portugal}
}
- GrGen: A Fast SPO-based Graph Rewriting Tool - ICGT 2006
Geiß, R., Batz, G. V., Grund, D., Hack, S. and Szalkowski, A. M.
Graph Transformations - ICGT 2006, pages 383–397, Springer, 2006.
[pdf]
[bib]
@CONFERENCE{GBGHS:2006:GrGen,
author = {Rubino Gei\ss and Gernot Veit Batz and Daniel Grund and Sebastian
Hack and Adam M. Szalkowski},
title = {{G}r{G}en: A Fast {SPO}-based {G}raph {R}ewriting {T}ool},
booktitle = {Graph Transformations - ICGT 2006},
year = {2006},
editor = {A. Corradini and H. Ehrig and U. Montanari and L. Ribeiro and G.
Rozenberg},
series = {Lecture Notes in Computer Science},
pages = {383--397},
month = {September},
publisher = {Springer},
note = {Natal, Brasil},
booktitle_short = {ICGT 2006},
webpdf = {http://www.info.uni-karlsruhe.de/papers/grgen_icgt2006.pdf}
}
- Register Allocation for Programs in SSA-Form - CC 2006
Hack, S., Grund, D. and Goos, G.
Compiler Construction 2006, pages 247–262, Springer, 2006.
[doi]
[bib]
@CONFERENCE{HGG:2006:RA_SSA,
author = {Sebastian Hack and Daniel Grund and Gerhard Goos},
title = {{R}egister {A}llocation for {P}rograms in {SSA}-{F}orm},
booktitle = {Compiler Construction 2006},
year = {2006},
editor = {Andreas Zeller and Alan Mycroft},
volume = {3923},
series = {Lecture Notes In Computer Science},
pages = {247--262},
month = {March},
publisher = {Springer},
abstract = {As register allocation is one of the most important phases in optimizingcompilers,
much work has been done to improve its quality and speed.We present
a novel register allocation architecture for programs inSSA-form
which simplifies register allocation significantly. We investigatecertain
properties of SSA-programs and their interference graphs,showing
that they belong to the class of chordal graphs. This leadsto a quadratic-time
optimal coloring algorithm and allows for decouplingthe tasks of
coloring, spilling and coalescing completely. After presentingheuristic
methods for spilling and coalescing, we compare our coalescingheuristic
to an optimal method based on integer linear programming.},
booktitle_short = {CC 2006},
doi = {10.1007/11688839_20},
journal = {Lecture Notes In Computer Science}
}