Demo Data from EDBT 2026 / reviewers in the wild / expert
Simon Moll 0001
dblp:150/7043-1
· DBLP profile ↗
4ranked-venue papers
2as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021Systems, architecture and hardware · 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.
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 66% Program analysis · 26% Program verification · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Processor architecture and microarchitecture · 40% Parallel and multicore computing · 30% GPUs and heterogeneous computing · 30% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
abstract interpretation |
0.5 | 1 | 2021 | An abstract interpretation for SPMD divergence on reducible control flow graphs · Proc. ACM Program. Lang. 2021 |
Compilers and program optimization › program transformation › control flow transformation
if-conversion |
0.3 | 1 | 2018 | Partial control-flow linearization · PLDI 2018 |
Compilers and program optimization
vectorization |
0.3 | 1 | 2018 | Partial control-flow linearization · PLDI 2018 |
Parallel and multicore computing › parallel programming models
data-parallel language |
0.3 | 1 | 2018 | Partial control-flow linearization · PLDI 2018 |
Processor architecture and microarchitecture
SIMD |
0.3 | 1 | 2018 | Partial control-flow linearization · PLDI 2018 |
GPUs and heterogeneous computing
control flow divergence |
0.2 | 1 | 2014 | The Impact of the SIMD Width on Control-Flow and Memory Divergence · ACM Trans. Archit. Code Optim. 2014 |
GPUs and heterogeneous computing › GPU memory access
memory divergence |
0.2 | 1 | 2014 | The Impact of the SIMD Width on Control-Flow and Memory Divergence · ACM Trans. Archit. Code Optim. 2014 |
Processor architecture and microarchitecture › SIMD
SIMD processor |
0.2 | 1 | 2014 | The Impact of the SIMD Width on Control-Flow and Memory Divergence · ACM Trans. Archit. Code Optim. 2014 |
Program verification › formal proof
mechanized proof |
0.1 | 1 | 2021 | An abstract interpretation for SPMD divergence on reducible control flow graphs · Proc. ACM Program. Lang. 2021 |
Parallel and multicore computing › data parallelism
data-parallel program |
0.1 | 1 | 2014 | The Impact of the SIMD Width on Control-Flow and Memory Divergence · ACM Trans. Archit. Code Optim. 2014 |
Methods — techniques the papers use, named apart from their topics
partial linearization · 0.7coq mechanization · 0.5abstract interpretation · 0.5thread regrouping · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | An abstract interpretation for SPMD divergence on reducible control flow graphsabstractVectorizing compilers employ divergence analysis to detect at which program point a specific variable is uniform, i.e. has the same value on all SPMD threads that execute this program point. They exploit uniformity to retain branching to counter branch divergence and defer computations to scalar processor units. Divergence is a hyper-property and is closely related to non-interference and binding time. There exist several divergence, binding time, and non-interference analyses already but they either sacrifice precision or make significant restrictions to the syntactical structure of the program in order to achieve soundness. In this paper, we present the first abstract interpretation for uniformity that is general enough to be applicable to reducible CFGs and, at the same time, more precise than other analyses that achieve at least the same generality. Our analysis comes with a correctness proof that is to a large part mechanized in Coq. Our experimental evaluation shows that the compile time and the precision of our analysis is on par with LLVM's default divergence analysis that is only sound on more restricted CFGs. At the same time, our analysis is faster and achieves better precision than a state-of-the-art non-interference analysis that is sound and at least as general as our analysis. Julian Rosemann, Simon Moll 0001, Sebastian Hack |
Proc. ACM Program. Lang. | 2 |
| 2018 | Partial control-flow linearizationabstractIf-conversion is a fundamental technique for vectorization. It accounts for the fact that in a SIMD program, several targets of a branch might be executed because of divergence. Especially for irregular data-parallel workloads, it is crucial to avoid if-converting non-divergent branches to increase SIMD utilization. In this paper, we present partial linearization, a simple and efficient if-conversion algorithm that overcomes several limitations of existing if-conversion techniques. In contrast to prior work, it has provable guarantees on which non-divergent branches are retained and will never duplicate code or insert additional branches. We show how our algorithm can be used in a classic loop vectorizer as well as to implement data-parallel languages such as ISPC or OpenCL. Furthermore, we implement prior vectorizer optimizations on top of partial linearization in a more general way. We evaluate the implementation of our algorithm in LLVM on a range of irregular data analytics kernels, a neutronics simulation benchmark and NAB, a molecular dynamics benchmark from SPEC2017 on AVX2, AVX512, and ARM Advanced SIMD machines and report speedups of up to 146 % over ICC, GCC and Clang O3. Simon Moll 0001, Sebastian Hack |
PLDI | 1 |
| 2016 | Input space splitting for OpenCLabstractThe performance of OpenCL programs suffers from memory and control flow divergence. Therefore, OpenCL compilers employ static analyses to identify non-divergent control flow and memory accesses in order to produce faster code. However, divergence is often input-dependent, hence can be observed for some, but not all inputs. In these cases, vectorizing compilers have to generate slow code because divergence can occur at run time. In this paper, we use a polyhedral abstraction to partition the input space of an OpenCL kernel. For each partition, divergence analysis produces more precise results i.e., it can classify more code parts as non-divergent. Consequently, specializing the kernel for the input space partitions allows for generating better SIMD code because of less divergence. We implemented our technique in an OpenCL driver for the AVX instruction set and evaluate it on a range of OpenCL benchmarks. We observe speed ups of up to 9x for irregular kernels over a state-of-the-art vectorizing OpenCL driver. Simon Moll 0001, Johannes Doerfert, Sebastian Hack |
CC | 1 |
| 2014 | The Impact of the SIMD Width on Control-Flow and Memory DivergenceabstractPower consumption is a prevalent issue in current and future computing systems. SIMD processors amortize the power consumption of managing the instruction stream by executing the same instruction in parallel on multiple data. Therefore, in the past years, the SIMD width has steadily increased, and it is not unlikely that it will continue to do so. In this article, we experimentally study the influence of the SIMD width to the execution of data-parallel programs. We investigate how an increasing SIMD width (up to 1024) influences control-flow divergence and memory-access divergence, and how well techniques to mitigate them will work on larger SIMD widths. We perform our study on 76 OpenCL applications and show that a group of programs scales well up to SIMD width 1024, whereas another group of programs increasingly suffers from control-flow divergence. For those programs, thread regrouping techniques may become increasingly important for larger SIMD widths. We show what average speedups can be expected when increasing the SIMD width. For example, when switching from scalar execution to SIMD width 64, one can expect a speedup of 60.11, which increases to 62.46 when using thread regrouping. We also analyze the frequency of regular (uniform, consecutive) memory access patterns and observe a monotonic decrease of regular memory accesses from 82.6 at SIMD width 4 to 43.1% at SIMD width 1024. Thomas Schaub, Simon Moll 0001, Ralf Karrenberg, Sebastian Hack |
ACM Trans. Archit. Code Optim. | 2 |