Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Stephan Herhut

dblp:15/2975 · DBLP profile ↗
← Back
6ranked-venue papers
1as first author
1since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3 · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 first-authorTheory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
High-performance computing · 54% Parallel and multicore computing · 28% Cloud and datacenter computing · 10%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 90% Empirical software engineering · 6% Programming languages and type systems · 4%

Topics — the 11 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
compiler infrastructure
0.512021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
Compilers and program optimization › compiler infrastructure
MLIR
0.512021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
High-performance computing › scientific computing systems
climate modeling
0.512021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
High-performance computing
scientific computing systems
0.512021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
Parallel and multicore computing
parallel programming models
0.422015
Are web applications ready for parallelism? · PPoPP 2015
River trail: a path to parallelism in JavaScript · OOPSLA 2013
Parallel and multicore computing
data parallelism
0.212015
Are web applications ready for parallelism? · PPoPP 2015
Cloud and datacenter computing › datacenter services › online service systems › internet services
web applications
0.212015
Are web applications ready for parallelism? · PPoPP 2015
GPUs and heterogeneous computing
GPU computing
0.112021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
High-performance computing
stencil computation
0.112021
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation · ACM Trans. Archit. Code Optim. 2021
Empirical software engineering
developer studies
0.112015
Are web applications ready for parallelism? · PPoPP 2015
Programming languages and type systems › dynamic languages
javascript
0.012013
River trail: a path to parallelism in JavaScript · OOPSLA 2013

Methods — techniques the papers use, named apart from their topics

MLIR · 1.0LLVM · 1.0survey · 0.4performance characterization · 0.4
YearPublicationVenuePosition
2021 Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation
abstract
Most compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complemented with vaguely defined IR-like data structures. This IR is commonly low-level and close to machine instructions. As a result, optimizations relying on domain-specific information are either not possible or require complex analysis to recover the missing information. In contrast, multi-level rewriting instantiates a hierarchy of dialects (IRs), lowers programs level-by-level, and performs code transformations at the most suitable level. We demonstrate the effectiveness of this approach for the weather and climate domain. In particular, we develop a prototype compiler and design stencil- and GPU-specific dialects based on a set of newly introduced design principles. We find that two domain-specific optimizations (500 lines of code) realized on top of LLVM’s extensible MLIR compiler infrastructure suffice to outperform state-of-the-art solutions. In essence, multi-level rewriting promises to herald the age of specialized compilers composed from domain- and target-specific dialects implemented on top of a shared infrastructure.
Tobias Gysi, Oleksandr Zinenko, Stephan Herhut, Eddie Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, Tobias Grosser
ACM Trans. Archit. Code Optim.4
2015 Are web applications ready for parallelism?
abstract
In recent years, web applications have become pervasive. Their backbone is JavaScript, the only programming language supported by all major web browsers. Most browsers run on desktop or mobile devices with parallel hardware. However, JavaScript is by design sequential, and current web applications make little use of hardware parallelism. Are web applications ready to exploit parallel hardware? We answer the question in two steps: First, we survey 174 web developers about the potential and challenges of using parallelism. Then, we study the performance and computation shape of a set of web applications that are representative for the emerging web. Our findings indicate that emerging web applications do have latent data parallelism, and JavaScript developers' programming style is not a significant impediment to exploiting this parallelism.
Cosmin Radoi, Stephan Herhut, Jaswanth Sreeram, Danny Dig
PPoPP2
2013 River trail: a path to parallelism in JavaScript
abstract
JavaScript is the most popular language on the web and is a crucial component of HTML5 applications and services that run on consumer platforms ranging from desktops to phones. However, despite ample amount of hardware parallelism available to web applications on such platforms, JavaScript web applications remain predominantly sequential. Common parallel programming solutions accepted by other programming languages failed to transfer themselves to JavaScript due to differences in programming models, the additional requirements of the web and different developer expectations.
Stephan Herhut, Richard L. Hudson, Tatiana Shpeisman, Jaswanth Sreeram
OOPSLA1
2013 A scalable approach to computing representative lowest common ancestor in directed acyclic graphs
Santanu Kumar Dash 0001, Sven-Bodo Scholz, Stephan Herhut, Bruce Christianson
Theor. Comput. Sci.3
2012 Asynchronous adaptive optimisation for generic data-parallel array programming
abstract
SUMMARY Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich abstraction hierarchies. Driven by the aim for increased reuse, such basic building blocks tend to become more and more generic in their specification; structural as well as behavioural properties are turned into parameters that are passed on to lower layers of abstraction where eventually a differentiation is being made. In the context of array programming, such properties are typically array ranks (number of axes/dimensions) and array shapes (number of elements along each axis/dimension). This allows for abstract definitions of operations such as element‐wise additions, concatenations, rotations, and so on, which jointly enable a very high‐level compositional style of programming, similar to, for instance, MATLAB. However, such a generic programming style generally comes at a price in terms of runtime overheads when compared against tailor‐made low‐level implementations. Additional layers of abstraction as well as the lack of hard‐coded structural properties often inhibits optimisations that are obvious otherwise. Although complex static compiler analyses and transformations such as partial evaluations can ameliorate the situation to quite some extent, there are cases, where the required level of information is not available until runtime. In this paper, we propose to shift part of the optimisation process into the runtime of applications. Triggered by some runtime observation, the compiler asynchronously applies partial evaluation techniques to frequently used program parts and dynamically replaces initial program fragments by more specialised ones through dynamic re‐linking. In contrast to many existing approaches, we suggest this optimisation to be done in a rather non‐intrusive, decoupled way. We use a full‐fledged compiler that is run on a separate core. This measure enables us to run the compiler on its highest optimisation‐level, which requires non‐negligible compilation times for our optimisations. We use the compiler's type system to identify the potential dynamic optimisations. And we use the host language's module system as a facilitator for the dynamic code modifications. We present the architecture and implementation of an adaptive compilation framework for Single Assignment C, a data‐parallel array programming language. Single Assignment C advocates shape‐generic and rank‐generic programming with arrays. A sophisticated, highly optimising compiler technology nevertheless achieves competitive runtime performance. We demonstrate the suitability of our approach to achieve consistently high performance independent of the static availability of array properties by means of several experiments based on a highly generic formulation of rank‐invariant convolution as a case study. Copyright © 2011 John Wiley & Sons, Ltd.
Clemens Grelck, Tim van Deurzen, Stephan Herhut, Sven-Bodo Scholz
Concurr. Comput. Pract. Exp.3
2010 Compiler-Support for Robust Multi-core Computing
Raimund Kirner, Stephan Herhut, Sven-Bodo Scholz
ISoLA (1)2