Demo Data from EDBT 2026 / reviewers in the wild / expert
François Irigoin
dblp:11/4363
· DBLP profile ↗
11ranked-venue papers
2as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 1 first-authorSystems, architecture and hardware · 5 · 1 first-author
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
4 papers |
Compilers and program optimization · 77% Program analysis · 23% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Hardware accelerators and domain-specific architectures · 70% GPUs and heterogeneous computing · 21% Parallel and multicore computing · 9% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
code generation |
0.2 | 1 | 2013 | API compilation for image hardware accelerators · ACM Trans. Archit. Code Optim. 2013 |
Hardware accelerators and domain-specific architectures
image processing accelerator |
0.2 | 1 | 2013 | API compilation for image hardware accelerators · ACM Trans. Archit. Code Optim. 2013 |
Program analysis › error detection
array bounds checking |
0.1 | 1 | 2005 | Efficient and effective array bound checking · ACM Trans. Program. Lang. Syst. 2005 |
Compilers and program optimization
loop transformation |
0.0 | 2 | 1991 | Scanning Polyhedra with DO Loops · PPoPP 1991 Supernode Partitioning · POPL 1988 |
Compilers and program optimization › loop transformation
polyhedral compilation |
0.0 | 1 | 1991 | Scanning Polyhedra with DO Loops · PPoPP 1991 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.0 | 1 | 1991 | Scanning Polyhedra with DO Loops · PPoPP 1991 |
Parallel and multicore computing › loop transformation › loop parallelization
loop nest parallelization |
0.0 | 1 | 1991 | Scanning Polyhedra with DO Loops · PPoPP 1991 |
Parallel and multicore computing › parallel scheduling
loop scheduling |
0.0 | 1 | 1988 | Supernode Partitioning · POPL 1988 |
Methods — techniques the papers use, named apart from their topics
vector architecture · 0.3source-to-source compilation · 0.3SIMD · 0.3OpenCL · 0.3range checking · 0.1data flow analysis · 0.1fourier-motzkin elimination · 0.0partitioning · 0.0loop transformation · 0.0affine transformations · 0.0affine transformation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Effects Dependence Graph: A Key Data Concept for C Source-to-Source CompilersabstractOptimizations, transformations and analyses are applied to programs by compilers at the intermediate representation level, which usually does not include explicit variable declarations. This description level is fine for middle-ends and for source-to-source optimizers of simple languages. Meanwhile, the C language has become much more flexible since the C99 standard, and let variable and type declarations appear almost anywhere in source code. We present in this paper a new concept to manage C99 declarations in a source-to-source compiler: the Effects Dependence Graph, which is an extension of the classical Data Dependence Graph. It deals particularly efficiently with user-defined type declarations or dependent types like Variable-Length Array. It is also interesting because no legal scheduling transformation is hindered and because existing algorithms are either not or slightly modified. Finally it reduces the need for variable, struct and array privatization or live range analyses in automatic parallelizers. To the best of our knowledge, the declaration issue is ignored in the literature: existing C source-to-source compilers either do not support C99, or accept only restricted portions of code, and production compilers use low-level intermediate representations, possibly with annotations. In this way our solution addresses a wider range of compiler analysis issues. Nelson Lossing, Pierre Guillou, François Irigoin |
SCAM | 3 |
| 2013 | API compilation for image hardware acceleratorsabstractWe present an API-based compilation strategy to optimize image applications, developed using a high-level image processing library, onto three different image processing hardware accelerators. We demonstrate that such a strategy is profitable for both development cost and overall performance, especially as it takes advantage of optimization opportunities across library calls otherwise beyond reach. The library API provides the semantics of the image computations. The three image accelerator targets are quite distinct: the first one uses a vector architecture; the second one presents an SIMD architecture; the last one runs both on GPGPU and multicores through OpenCL. We have adapted standard compilation techniques to perform these compilation and code generation tasks automatically. Our strategy is implemented in PIPS, a source-to-source compiler which greatly reduces the development cost as standard phases are reused and parameterized. We carried out experiments with applications on hardware functional simulators and GPUs. Our contributions include: (1) a general low-cost compilation strategy for image processing applications, based on the semantics provided by library calls, which improves locality by an order of magnitude; (2) specific heuristics to minimize execution time on the target accelerators; (3) numerous experiments that show the effectiveness of our strategies. We also discuss the conditions required to extend this approach to other application domains. Fabien Coelho, François Irigoin |
ACM Trans. Archit. Code Optim. | 2 |
| 2011 | A Model based Systems Engineering Processes Deployment Framework
Clémentine Cornu, Bernard Chiavassa, Vincent Chapurlat, François Irigoin |
ICSOFT (1) | 4 |
| 2005 | Efficient and effective array bound checkingabstractArray bound checking refers to determining whether all array references in a program are within their declared ranges. This checking is critical for software verification and validation because subscripting arrays beyond their declared sizes may produce unexpected results, security holes, or failures. It is available in most commercial compilers but current implementations are not as efficient and effective as one may have hoped: (1) the execution times of array bound checked programs are increased by a factor of up to 5, (2) the compilation times are increased, which is detrimental to development and debugging, (3) the related error messages do not usually carry information to locate the faulty references, and (4) the consistency between actual array sizes and formal array declarations is not often checked.This article presents two optimization techniques that deal with Points 1, 2, and 3, and a new algorithm to tackle Point 4, which is not addressed by the current literature. The first optimization technique is based on the elimination of redundant tests, to provide very accurate information about faulty references during development and testing phases. The second one is based on the insertion of unavoidable tests to provide the smallest possible slowdown during the production phase. The new algorithm ensures the absence of bound violations in every array access in the called procedure with respect to the array declarations in the calling procedure. Our experiments suggest that the optimization of array bound checking depends on several factors, not only the percentage of removed checks, usually considered as the best improvement measuring metrics. The debugging capability and compile-time and run-time performances of our techniques are better than current implementations. The execution times of SPEC95 CFP benchmarks with range checking added by PIPS, our Fortran research compiler, are slightly longer, less than 20%, than that of unchecked programs. More problems due to functional and data recursion would have to be solved to extend these results from Fortran to other languages such as C, C++, or Java, but the issues addressed in this article are nevertheless relevant. Nga Nguyen 0001, François Irigoin |
ACM Trans. Program. Lang. Syst. | 2 |
| 2003 | Automatic Detection of Uninitialized Variables
Nga Nguyen 0001, François Irigoin, Corinne Ancourt, Fabien Coelho |
CC | 2 |
| 1998 | Interprocedural Analyses of Fortran Programs
Béatrice Creusillet, François Irigoin |
Parallel Comput. | 2 |
| 1997 | Automatic data mapping of signal processing applicationsabstractThis paper presents a technique to map automatically a complete digital signal processing (DSP) application onto a parallel machine with distributed memory. Unlike other applications where coarse or medium grain scheduling techniques can be used, DSP applications integrate several thousand of tasks and hence necessitate fine grain considerations. Moreover finding an effective mapping imperatively require to take into account both architectural resources constraints and real time constraints. The main contribution of this paper is to show how it is possible to handle and to solve data partitioning, and fine-grain scheduling under the above operational constraints using concurrent constraints logic programming languages (CCLP). Our concurrent resolution technique undertaking linear and nonlinear constraints takes advantage of the special features of signal processing applications and provides a solution equivalent to a manual solution for the representative panoramic analysis (PA) application. Corinne Ancourt, Denis Barthou, Christophe Guettier, François Irigoin, Bertrand Jeannet, Jean Jourdan, Juliette Mattioli |
ASAP | 4 |
| 1991 | Semantical interprocedural parallelization: an overview of the PIPS projectabstractPIPS is an experhnental FORTRAN source-to-source parallelizer that combines the goal of exploring interprocedural and semantical analysis with a requirement for compilation speed.We present in this paper the main features of PIPS, i.e., demand-driven architecture, automatic support for multiple implementation languages, structured control graph, predicates and regions for interprocedural analysis and global nested loop paralle~lzation, with an emphasis on its core data structures and transformation phases.Some preliminary results on the practical impact of our design choices are discussed. François Irigoin, Pierre Jouvelot, Rémi Triolet |
ICS | 1 |
| 1991 | Scanning Polyhedra with DO LoopsabstractSupercompilers perform complex program transformations which often result in new loop bounds. This paper shows that, under the usual assumptions in automatic parallelization, most transformations on loop nests can be expressed as affine transformations on integer sets de ned by polyhedra and that the new loop bounds can be computed with algorithms using Fourier's pairwise elimination method although it is not exact for integer sets. Sufficient conditions to use pairwise elimination on integer sets and to extend it to pseudo-linear constraints are also given. A tradeo has to be made between dynamic overhead due to some bound slackness and compilation complexity but the resulting code is always correct. These algorithms can be used to interchange or block loops regardless of the loop bounds or the blocking strategy and to safely exchange array parts between two levels of a memory hierarchy or between neighboring processors in a distributed memory machine. Corinne Ancourt, François Irigoin |
PPoPP | 2 |
| 1988 | Supernode PartitioningabstractSupercompilers must reschedule computations defined by nested DO-loops in order to make an efficient use of supercomputer features (vector units, multiple elementary processors, cache memory, etc…). Many rescheduling techniques like loop interchange, loop strip-mining or rectangular partitioning have been described to speedup program execution. We present here a class of partitionings that encompasses previous techniques and provides enough flexibility to adapt code to multiprocessors with two levels of parallelism and two levels of memory. François Irigoin, Rémi Triolet |
POPL | 1 |
| 1986 | Automatic Parallelization of Fortran Programs in the Presence of Procedure Calls
Rémi Triolet, Paul Feautrier, François Irigoin |
ESOP | 3 |