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.

Ulysse Beaugnon

dblp:146/4574 · DBLP profile ↗
← Back
6ranked-venue papers
3as first author
2since 2021 · last 2023
—ORCID · none

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

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

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
2 papers
Embedded and real-time systems · 46% Hardware accelerators and domain-specific architectures · 27% Memory systems · 27%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 67% Operating systems · 33%

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

TopicWeightPapersLastEvidence papers
Operating systems › resource management › memory management
memory allocation
0.712023
TelaMalloc: Efficient On-Chip Memory Allocation for Production Machine Learning Accelerators · ASPLOS (1) 2023
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.712023
TelaMalloc: Efficient On-Chip Memory Allocation for Production Machine Learning Accelerators · ASPLOS (1) 2023
Memory systems › memory management › on-chip memory management
on-chip memory allocation
0.712023
TelaMalloc: Efficient On-Chip Memory Allocation for Production Machine Learning Accelerators · ASPLOS (1) 2023
Compilers and program optimization
intermediate representation
0.612022
Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022
Compilers and program optimization › intermediate representation
static single assignment form
0.612022
Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022
Embedded and real-time systems
reactive systems
0.612022
Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022
Embedded and real-time systems
synchronous programming
0.612022
Weaving Synchronous Reactions into the Fabric of SSA-form Compilers · ACM Trans. Archit. Code Optim. 2022

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

memory buffer allocation · 1.3compilation optimization · 1.3static analysis · 1.1code generation · 1.1
YearPublicationVenuePosition
2023 TelaMalloc: Efficient On-Chip Memory Allocation for Production Machine Learning Accelerators
abstract
Memory buffer allocation for on-chip memories is a major challenge in modern machine learning systems that target ML accelerators. In interactive systems such as mobile phones, it is on the critical path of launching ML-enabled applications. In data centers, it is part of complex optimization loops that run many times and are the limiting factor for the quality of compilation results.
Martin Maas 0001, Ulysse Beaugnon, Arun Chauhan 0001, Berkin Ilbeyi
ASPLOS (1)2
2022 Weaving Synchronous Reactions into the Fabric of SSA-form Compilers
abstract
We investigate the programming of reactive systems combining closed-loop control with performance-intensive components such as Machine Learning (ML). Reactive control systems are often safety-critical and associated with real-time execution requirements, a domain of predilection for synchronous programming languages. Extending the high levels of assurance found in reactive control systems to computationally intensive code remains an open issue. We tackle it by unifying concepts and algorithms from synchronous languages with abstractions commonly found in general-purpose and ML compilers. This unification across embedded and high-performance computing enables a high degree of reuse of compiler abstractions and code. We first recall commonalities between dataflow synchronous languages and the static single assignment (SSA) form of general-purpose/ML compilers. We highlight the key mechanisms of synchronous languages that SSA does not cover—denotational concepts such as synchronizing computations with an external time base, cyclic and reactive I/O, as well as the operational notions of relaxing control flow dominance and the modeling of absent values. We discover that initialization-related static analyses and code generation aspects can be fully decoupled from other aspects of synchronous semantics such as memory management and causality analysis, the latter being covered by existing dominance-based algorithms of SSA-form compilers. We show how the SSA form can be seamlessly extended to enable all SSA-based transformations and optimizations on reactive programs with synchronous concurrency. We derive a compilation flow suitable for both high-performance and reactive aspects of a control application, by embedding the Lustre dataflow synchronous language into the SSA-based MLIR/LLVM compiler infrastructure. This allows the modeling of signal processing and deep neural network inference in the (closed) loop of feedback-directed control systems. With only minor efforts leveraging the MLIR infrastructure, the generated code matches or outperforms state-of-the-art synchronous language compilers on computationally intensive ML applications.
Hugo Pompougnac, Ulysse Beaugnon, Albert Cohen 0001, Dumitru Potop-Butucaru
ACM Trans. Archit. Code Optim.2
2017 Optimization space pruning without regrets
Ulysse Beaugnon, Antoine Pouille, Marc Pouzet, Jacques A. Pienaar, Albert Cohen 0001
CC1
2016 In-Place Update in a Dataflow Synchronous Language: A Retiming-Enabled Language Experiment
abstract
Dataflow synchronous languages such as Lustre have a purely functional semantics. This incurs a high overhead when dealing with arrays, as they have to be copied at each update. We propose to tackle this problem at the source, by constraining programs so that every functional array definition can be optimized into an in-place update. Our solution handles aliasing between function arguments. It also allows more programs with in-place updates to be accepted thanks to a new retiming framework, effectively rescheduling computations across time steps. Our proposed language and compilation method enforces zero-copy purely functional arrays while preserving expressiveness and programmer control through explicit copies.
Ulysse Beaugnon, Albert Cohen 0001, Marc Pouzet
SCOPES1
2015 PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming
abstract
Programming 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
PACT2
2014 VOBLA: a vehicle for optimized basic linear algebra
abstract
We present VOBLA, a domain-specific language designed for programming linear algebra libraries. VOBLA is compiled to PENCIL, a domain independent intermediate language designed for efficient mapping to accelerator architectures such as GPGPUs. PENCIL is compiled to efficient, platform-specific OpenCL code using techniques based on the polyhedral model. This approach addresses both the programmer productivity and performance portability concerns associated with accelerator programming.
Ulysse Beaugnon, Alexey Kravets, Sven van Haastregt, Riyadh Baghdadi, David Tweed, Javed Absar, Anton Lokhmotov
LCTES1