EDBT 2026 Demo / reviewers in the wild / expert
Sven Verdoolaege
dblp:87/1328
· DBLP profile ↗
19ranked-venue papers
10as first author
0since 2021 · last 2020
0000-0003-3179-2736ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 4 first-authorSoftware engineering, systems software and programming languages · 7 · 4 first-authorTheory of computation · 3 · 3 first-authorSecurity and privacy · 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
6 papers |
Compilers and program optimization · 70% Programming languages and type systems · 14% Program verification · 11% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
GPUs and heterogeneous computing · 55% Hardware accelerators and domain-specific architectures · 40% Parallel and multicore computing · 5% |
Topics — the 21 heaviest of 23, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › loop transformation
polyhedral compilation |
0.7 | 2 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 Polyhedral AST Generation Is More Than Scanning Polyhedra · ACM Trans. Program. Lang. Syst. 2015 |
Compilers and program optimization
code generation |
0.5 | 2 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 Polyhedral AST Generation Is More Than Scanning Polyhedra · ACM Trans. Program. Lang. Syst. 2015 |
Programming languages and type systems
domain-specific languages |
0.4 | 1 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 |
Compilers and program optimization › domain-specific compilation
tensor algebra compilation |
0.4 | 1 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 |
GPUs and heterogeneous computing › GPU compilation
GPU kernel generation |
0.4 | 1 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 |
Hardware accelerators and domain-specific architectures
machine learning accelerator |
0.4 | 1 | 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, Automatically · ACM Trans. Archit. Code Optim. 2020 |
Compilers and program optimization
loop transformation |
0.4 | 2 | 2015 | Polyhedral AST Generation Is More Than Scanning Polyhedra · ACM Trans. Program. Lang. Syst. 2015 Improved loop tiling based on the removal of spurious false dependences · ACM Trans. Archit. Code Optim. 2013 |
Program verification
equivalence checking |
0.2 | 2 | 2012 | Equivalence checking of static affine programs using widening to handle recurrences · ACM Trans. Program. Lang. Syst. 2012 Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences · CAV 2009 |
Program verification
presburger arithmetic |
0.2 | 1 | 2015 | Polyhedral AST Generation Is More Than Scanning Polyhedra · ACM Trans. Program. Lang. Syst. 2015 |
Compilers and program optimization
dependence analysis |
0.2 | 2 | 2013 | Improved loop tiling based on the removal of spurious false dependences · ACM Trans. Archit. Code Optim. 2013 Equivalence checking of static affine programs using widening to handle recurrences · ACM Trans. Program. Lang. Syst. 2012 |
Compilers and program optimization › code generation
GPU code generation |
0.2 | 1 | 2013 | Polyhedral parallel code generation for CUDA · ACM Trans. Archit. Code Optim. 2013 |
Compilers and program optimization › loop optimization
loop tiling |
0.2 | 1 | 2013 | Improved loop tiling based on the removal of spurious false dependences · ACM Trans. Archit. Code Optim. 2013 |
Compilers and program optimization
parallelizing compiler |
0.2 | 1 | 2013 | Polyhedral parallel code generation for CUDA · ACM Trans. Archit. Code Optim. 2013 |
GPUs and heterogeneous computing
GPU computing |
0.2 | 1 | 2013 | Polyhedral parallel code generation for CUDA · ACM Trans. Archit. Code Optim. 2013 |
Compilers and program optimization › program transformation › program optimization
loop and data transformation |
0.1 | 1 | 2012 | Equivalence checking of static affine programs using widening to handle recurrences · ACM Trans. Program. Lang. Syst. 2012 |
Programming languages and type systems
program equivalence |
0.1 | 1 | 2012 | Equivalence checking of static affine programs using widening to handle recurrences · ACM Trans. Program. Lang. Syst. 2012 |
Program analysis
static analysis |
0.1 | 1 | 2009 | Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences · CAV 2009 |
Program analysis › static analysis › abstract interpretation
widening |
0.1 | 1 | 2009 | Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences · CAV 2009 |
Compilers and program optimization › memory optimization
data layout transformation |
0.1 | 1 | 2015 | Polyhedral AST Generation Is More Than Scanning Polyhedra · ACM Trans. Program. Lang. Syst. 2015 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.0 | 1 | 2013 | Improved loop tiling based on the removal of spurious false dependences · ACM Trans. Archit. Code Optim. 2013 |
Cryptographic primitives and cryptanalysis
stream cipher cryptanalysis |
0.0 | 1 | 1998 | Analysis Methods for (Alleged) RC4 · ASIACRYPT 1998 |
Methods — techniques the papers use, named apart from their topics
polyhedral compilation · 1.5linear optimization · 0.9evolutionary algorithm · 0.9multilevel tiling · 0.3live range analysis · 0.3widening · 0.2user-directed versioning · 0.2presburger arithmetic · 0.2polyhedral unrolling · 0.2dependence graph · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | The Next 700 Accelerated Layers: From Mathematical Expressions of Network Computation Graphs to Accelerated GPU Kernels, AutomaticallyabstractDeep learning frameworks automate the deployment, distribution, synchronization, memory allocation, and hardware acceleration of models represented as graphs of computational operators. These operators wrap high-performance libraries such as cuDNN or NNPACK. When the computation does not match any predefined library call, custom operators must be implemented, often at high engineering cost and performance penalty, limiting the pace of innovation. To address this productivity gap, we propose and evaluate: (1) a domain-specific language with a tensor notation close to the mathematics of deep learning; (2) a Just-In-Time optimizing compiler based on the polyhedral framework; (3) carefully coordinated linear optimization and evolutionary algorithms to synthesize high-performance CUDA kernels; (4) the transparent integration of our flow into PyTorch and Caffe2, providing the fully automatic synthesis of high-performance GPU kernels from simple tensor algebra. The performance is comparable to, and often exceeds the performance of, highly tuned libraries. Nicolas Vasilache, Oleksandr Zinenko, Theodoros Theodoridis, Priya Goyal, Zach DeVito, William S. Moses, Sven Verdoolaege, Andrew Adams, Albert Cohen 0001 |
ACM Trans. Archit. Code Optim. | 7 |
| 2018 | Modeling the conflicting demands of parallelism and Temporal/Spatial locality in affine schedulingabstractThe construction of effective loop nest optimizers and parallelizers remains challenging despite decades of work in the area. Due to the increasing diversity of loop-intensive applications and to the complex memory/computation hierarchies in modern processors, optimization heuristics are pulled towards conflicting goals, highlighting the lack of a systematic approach to optimizing locality and parallelism. Acknowledging these conflicting demands on loop nest optimization, we propose an algorithmic template capable of modeling the multi-level parallelism and the temporal/spatial locality of multiprocessors and accelerators. This algorithmic template orchestrates a collection of parameterizable, linear optimization problems over a polyhedral space of semantics-preserving transformations. While the overall problem is not convex, effective algorithms can be derived from this template delivering unprecedented performance portability over GPU and multicore CPU. We discuss the rationale for this algorithmic template and validate it on representative computational kernels/benchmarks. Oleksandr Zinenko, Sven Verdoolaege, Chandan Reddy 0001, Jun Shirako, Tobias Grosser, Vivek Sarkar, Albert Cohen 0001 |
CC | 2 |
| 2015 | PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator ProgrammingabstractProgramming accelerators such as GPUs with low-level APIs and languages such as OpenCL and CUDA is difficult, error-prone, and not performance-portable. Automatic parallelization and domain specific languages (DSLs) have been proposed to hide complexity and regain performance portability. We present PENCIL, a rigorously-defined subset of GNU C99-enriched with additional language constructs-that enables compilers to exploit parallelism and produce highly optimized code when targeting accelerators. PENCIL aims to serve both as a portable implementation language for libraries, and as a target language for DSL compilers. We implemented a PENCIL-to-OpenCL backend using a state-of-the-art polyhedral compiler. The polyhedral compiler, extended to handle data-dependent control flow and non-affine array accesses, generates optimized OpenCL code. To demonstrate the potential and performance portability of PENCIL and the PENCIL-to-OpenCL compiler, we consider a number of image processing kernels, a set of benchmarks from the Rodinia and SHOC suites, and DSL embedding scenarios for linear algebra (BLAS) and signal processing radar applications (SpearDE), and present experimental results for four GPU platforms: AMD Radeon HD 5670 and R9 285, NVIDIA GTX 470, and ARM Mali-T604. Riyadh Baghdadi, Ulysse Beaugnon, Albert Cohen 0001, Tobias Grosser, Michael Kruse, Chandan Reddy 0001, Sven Verdoolaege, Adam Betts, Alastair F. Donaldson, Jeroen Ketema, Javed Absar, Sven van Haastregt, Alexey Kravets, Anton Lokhmotov, Elnar Hajiyev |
PACT | 7 |
| 2015 | Polyhedral AST Generation Is More Than Scanning PolyhedraabstractAbstract mathematical representations such as integer polyhedra have been shown to be useful to precisely analyze computational kernels and to express complex loop transformations. Such transformations rely on abstract syntax tree (AST) generators to convert the mathematical representation back to an imperative program. Such generic AST generators avoid the need to resort to transformation-specific code generators, which may be very costly or technically difficult to develop as transformations become more complex. Existing AST generators have proven their effectiveness, but they hit limitations in more complex scenarios. Specifically, (1) they do not support or may fail to generate control flow for complex transformations using piecewise schedules or mappings involving modulo arithmetic; (2) they offer limited support for the specialization of the generated code exposing compact, straightline, vectorizable kernels with high arithmetic intensity necessary to exploit the peak performance of modern hardware; (3) they offer no support for memory layout transformations; and (4) they provide insufficient control over the AST generation strategy, preventing their application to complex domain-specific optimizations. We present a new AST generation approach that extends classical polyhedral scanning to the full generality of Presburger arithmetic, including existentially quantified variables and piecewise schedules, and introduce new optimizations for the detection of components and shifted strides. Not limiting ourselves to control flow generation, we expose functionality to generate AST expressions from arbitrary piecewise quasi-affine expressions, which enables the use of our AST generator for data-layout transformations. We complement this with support for specialization by polyhedral unrolling, user-directed versioning, and specialization of AST expressions according to the location at which they are generated, and we complete this work with fine-grained user control over the AST generation strategies used. Using this generalized idea of AST generation, we present how to implement complex domain-specific transformations without the need to write specialized code generators, but instead relying on a generic AST generator parametrized to a specific problem domain. Tobias Grosser, Sven Verdoolaege, Albert Cohen 0001 |
ACM Trans. Program. Lang. Syst. | 2 |
| 2014 | Hybrid Hexagonal/Classical Tiling for GPUs
Tobias Grosser, Albert Cohen 0001, Justin Holewinski, P. Sadayappan, Sven Verdoolaege |
CGO | 5 |
| 2013 | Improved loop tiling based on the removal of spurious false dependencesabstractTo preserve the validity of loop nest transformations and parallelization, data dependences need to be analyzed. Memory dependences come in two varieties: true dependences or false dependences. While true dependences must be satisfied in order to preserve the correct order of computations, false dependences are induced by the reuse of a single memory location to store multiple values. False dependences reduce the degrees of freedom for loop transformations. In particular, loop tiling is severely limited in the presence of these dependences. While array expansion removes all false dependences, the overhead on memory and the detrimental impact on register-level reuse can be catastrophic. We propose and evaluate a compilation technique to safely ignore a large number of false dependences in order to enable loop nest tiling in the polyhedral model. It is based on the precise characterization of interferences between live range intervals, and it does not incur any scalar or array expansion. Our algorithms have been implemented in the Pluto polyhedral compiler, and evaluated on the PolyBench suite. Riyadh Baghdadi, Albert Cohen 0001, Sven Verdoolaege, Konrad Trifunovic |
ACM Trans. Archit. Code Optim. | 3 |
| 2013 | Polyhedral parallel code generation for CUDAabstractThis article addresses the compilation of a sequential program for parallel execution on a modern GPU. To this end, we present a novel source-to-source compiler called PPCG. PPCG singles out for its ability to accelerate computations from any static control loop nest, generating multiple CUDA kernels when necessary. We introduce a multilevel tiling strategy and a code generation scheme for the parallelization and locality optimization of imperfectly nested loops, managing memory and exposing concurrency according to the constraints of modern GPUs. We evaluate our algorithms and tool on the entire PolyBench suite. Sven Verdoolaege, Juan Carlos Juega, Albert Cohen 0001, José Ignacio Gómez, Christian Tenllado, Francky Catthoor |
ACM Trans. Archit. Code Optim. | 1 |
| 2012 | Equivalence checking of static affine programs using widening to handle recurrencesabstractDesigners often apply manual or semi-automatic loop and data transformations on array- and loop-intensive programs to improve performance. It is crucial that such transformations preserve the functionality of the program. This article presents an automatic method for constructing equivalence proofs for the class of static affine programs. The equivalence checking is performed on a dependence graph abstraction and uses a new approach based on widening to find the proper induction hypotheses for reasoning about recurrences. Unlike transitive-closure-based approaches, this widening approach can also handle nonuniform recurrences. The implementation is publicly available and is the first of its kind to fully support commutative operations. Sven Verdoolaege, Gerda Janssens, Maurice Bruynooghe |
ACM Trans. Program. Lang. Syst. | 1 |
| 2011 | Transitive Closures of Affine Integer Tuple Relations and Their Overapproximations
Sven Verdoolaege, Albert Cohen 0001, Anna Beletska |
SAS | 1 |
| 2010 | Experience with Widening Based Equivalence Checking in Realistic Multimedia Systems
Sven Verdoolaege, Martin Palkovic, Maurice Bruynooghe, Gerda Janssens, Francky Catthoor |
J. Electron. Test. | 1 |
| 2009 | Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences
Sven Verdoolaege, Gerda Janssens, Maurice Bruynooghe |
CAV | 1 |
| 2009 | Symbolic Polynomial Maximization Over Convex Sets and Its Application to Memory Requirement EstimationabstractMemory requirement estimation is an important issue in the development of embedded systems, since memory directly influences performance, cost and power consumption. It is therefore crucial to have tools that automatically compute accurate estimates of the memory requirements of programs to better control the development process and avoid some catastrophic execution exceptions. Many important memory issues can be expressed as the problem of maximizing a parametric polynomial defined over a parametric convex domain. Bernstein expansion is a technique that has been used to compute upper bounds on polynomials defined over intervals and parametric ldquoboxesrdquo. In this paper, we propose an extension of this theory to more general parametric convex domains and illustrate its applicability to the resolution of memory issues with several application examples. Philippe Clauss, Federico Javier Fernández, Diego Garbervetsky, Sven Verdoolaege |
IEEE Trans. Very Large Scale Integr. Syst. | 4 |
| 2008 | Counting with rational generating functions
Sven Verdoolaege, Kevin M. Woods |
J. Symb. Comput. | 1 |
| 2007 | Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions
Sven Verdoolaege, Rachid Seghir, Kristof Beyls, Vincent Loechner, Maurice Bruynooghe |
Algorithmica | 1 |
| 2005 | Experiences with Enumeration of Integer Projections of Parametric Polytopes
Sven Verdoolaege, Kristof Beyls, Maurice Bruynooghe, Francky Catthoor |
CC | 1 |
| 2004 | Optimizing the Memory Bandwidth with Loop Morphing
José Ignacio Gómez, Paul Marchal, Sven Verdoolaege, Luis Piñuel, Francky Catthoor |
ASAP | 3 |
| 2004 | Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizationsabstractMany optimization techniques, including several targeted specifically at embedded systems, depend on the ability to calculate the number of elements that satisfy certain conditions. If these conditions can be represented by linear constraints, then such problems are equivalent to counting the number of integer points in (possibly) parametric polytopes. It is well known that this parametric count can be represented by a set of Ehrhart polynomials. Previously, interpolation was used to obtain these polynomials, but this technique has several disadvantages. Its worst-case computation time for a single Ehrhart polynomial is exponential in the input size, even for fixed dimensions. The worst-case size of such an Ehrhart polynomial (measured in bits needed to represent the polynomial) is also exponential in the input size. Under certain conditions this technique even fails to produce a solution.Our main contribution is a novel method for calculating Ehrhart polynomials analytically. It extends an existing method, based on Barvinok's decomposition, for counting the number of integer points in a non-parametric polytope. Our technique always produces a solution and computes polynomially-sized Ehrhart polynomials in polynomial time (for fixed dimensions). Sven Verdoolaege, Rachid Seghir, Kristof Beyls, Vincent Loechner, Maurice Bruynooghe |
CASES | 1 |
| 2003 | Multi-dimentsional Incremetal Loops Fusion for Data LocalityabstractAffine loop transformations have often been used for program optimization. Usually their focus lies on single loop nests. A few recent approaches also handle global programs with multiple loop nests but they are not really scalable towards realistic applications with dozens of nests. To reduce complexity, we split affine transformations into a linear transformation step and a translation step. This translation step can be used to perform general multidimensional loop fusion. We show that loop fusion can be performed incrementally and provide a greedy algorithm, which we illustrate on a simple example. Finally, we present a heuristic for data locality and provide some experimental results. Sven Verdoolaege, Maurice Bruynooghe, Gerda Janssens, Francky Catthoor |
ASAP | 1 |
| 1998 | Analysis Methods for (Alleged) RC4
Lars R. Knudsen, Willi Meier, Bart Preneel, Vincent Rijmen, Sven Verdoolaege |
ASIACRYPT | 5 |