VLDB 2026 Research / reviewers in the wild / expert
Philippe Clauss
dblp:65/1682
· DBLP profile ↗
36ranked-venue papers
12as first author
0since 2021 · last 2020
0000-0002-5759-9195ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 25 · 10 first-authorSoftware engineering, systems software and programming languages · 9 · 1 first-authorTheory of computation · 2 · 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 · 96% Program analysis · 4% | |
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 100% |
Topics — the 11 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
speculative parallelization |
0.4 | 2 | 2016 | The Polyhedral Model of Nonlinear Loops · ACM Trans. Archit. Code Optim. 2016 Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Parallel and multicore computing › speculative parallelization
thread-level speculation |
0.4 | 2 | 2016 | The Polyhedral Model of Nonlinear Loops · ACM Trans. Archit. Code Optim. 2016 Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Compilers and program optimization
polyhedral model |
0.3 | 2 | 2016 | The Polyhedral Model of Nonlinear Loops · ACM Trans. Archit. Code Optim. 2016 Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Compilers and program optimization › parallelization
automatic parallelization |
0.3 | 2 | 2012 | Polyhedral parallelization of binary code · ACM Trans. Archit. Code Optim. 2012 Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization · MICRO 2012 |
Compilers and program optimization
loop optimization |
0.2 | 1 | 2016 | The Polyhedral Model of Nonlinear Loops · ACM Trans. Archit. Code Optim. 2016 |
Compilers and program optimization
dependence analysis |
0.2 | 2 | 2016 | Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization · MICRO 2012 The Polyhedral Model of Nonlinear Loops · ACM Trans. Archit. Code Optim. 2016 |
Compilers and program optimization › loop transformation
polyhedral compilation |
0.1 | 1 | 2012 | Polyhedral parallelization of binary code · ACM Trans. Archit. Code Optim. 2012 |
Parallel and multicore computing › parallel computing › parallel program analysis
dependence profiling |
0.1 | 1 | 2012 | Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization · MICRO 2012 |
Parallel and multicore computing › loop transformation › loop parallelization
loop parallelism extraction |
0.1 | 1 | 2012 | Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization · MICRO 2012 |
Program analysis › dynamic analysis
dynamic binary instrumentation |
0.0 | 1 | 2012 | Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization · MICRO 2012 |
Parallel and multicore computing › loop transformation
loop parallelization |
0.0 | 1 | 2012 | Polyhedral parallelization of binary code · ACM Trans. Archit. Code Optim. 2012 |
Methods — techniques the papers use, named apart from their topics
polyhedral transformation · 0.8speculative execution · 0.5static analysis · 0.3runtime scheduling · 0.3profiling · 0.3polyhedral compilation · 0.3dynamic binary instrumentation · 0.3binary parsing · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Runtime multi-versioning and specialization inside a memoized speculative loop optimizerabstractIn this paper, we propose a runtime framework that implements code multi-versioning and specialization to optimize and parallelize loop kernels that are invoked many times with varying parameters. These parameters may influence the code structure, the touched memory locations, the workload, and the runtime performance. They may also impact the validity of the parallelizing and optimizing polyhedral transformations that are applied on-the-fly. Raquel Lazcano, Daniel Madroñal, Eduardo Juárez Martínez, Philippe Clauss |
CC | 4 |
| 2017 | Automatic Collapsing of Non-Rectangular LoopsabstractLoop collapsing is a well-known loop transformation which combines some loops that are perfectly nested into one single loop. It allows to take advantage of the whole amount of parallelism exhibited by the collapsed loops, and provides a perfect load balancing of iterations among the parallel threads. However, in the current implementations of this loop optimization, as the ones of the OpenMP language, automatic loop collapsing is limited to loops with constant loop bounds that define rectangular iteration spaces, although load imbalance is a particularly crucial issue with non-rectangular loops. The OpenMP language addresses load balance mostly through dynamic runtime scheduling of the parallel threads. Nevertheless, this runtime schedule introduces some unavoidable executiontime overhead, while preventing to exploit the entire parallelism of all the parallel loops. In this paper, we propose a technique to automatically collapse any perfectly nested loops defining non-rectangular iteration spaces, whose bounds are linear functions of the loop iterators. Such spaces may be triangular, tetrahedral, trapezoidal, rhomboidal or parallelepiped. Our solution is based on original mathematical results addressing the inversion of a multi-variate polynomial that defines a ranking of the integer points contained in a convex polyhedron. We show on a set of non-rectangular loop nests that our technique allows to generate parallel OpenMP codes that outperform the original parallel loop nests, parallelized either by using options “static” or “dynamic” of the OpenMPschedule clause. Philippe Clauss, Ervin Altintas, Matthieu Kuhn |
IPDPS | 1 |
| 2017 | Full runtime polyhedral optimizing loop transformations with the generation, instantiation, and scheduling of code-bonesabstractSummary In this paper, we present a new runtime code generation technique for speculative loop optimization and parallelization. The main benefit of this technique, compared to previous approaches, is to enable advanced optimizing loop transformations at runtime with an acceptable time overhead. The loop transformations that may be applied are those handled by the polyhedral model. The proposed code generation strategy is based on the generation of “code‐bones” at compile‐time, which are parametrized code snippets either dedicated to speculation management or to computations of the original target program. These code‐bones are then instantiated and assembled at runtime to constitute the speculatively optimized code, as soon as an optimizing polyhedral transformation has been determined. Their granularity threshold is sufficient to apply any polyhedral transformation, while still enabling fast runtime code generation. This approach has been implemented in the speculative loop parallelizing framework APOLLO. Juan Manuel Martinez Caamaño, Manuel Selva, Philippe Clauss, Artiom Baloian, Willy Wolff |
Concurr. Comput. Pract. Exp. | 3 |
| 2016 | Code Bones: Fast and Flexible Code Generation for Dynamic and Speculative Polyhedral Optimization
Juan Manuel Martinez Caamaño, Willy Wolff, Philippe Clauss |
Euro-Par | 3 |
| 2016 | The Polyhedral Model of Nonlinear LoopsabstractRuntime code optimization and speculative execution are becoming increasingly prominent to leverage performance in the current multi- and many-core era. However, a wider and more efficient use of such techniques is mainly hampered by the prohibitive time overhead induced by centralized data race detection, dynamic code behavior modeling, and code generation. Most of the existing Thread Level Speculation (TLS) systems rely on naively slicing the target loops into chunks and trying to execute the chunks in parallel with the help of a centralized performance-penalizing verification module that takes care of data races. Due to the lack of a data dependence model, these speculative systems are not capable of doing advanced transformations, and, more importantly, the chances of rollback are high. The polyhedral model is a well-known mathematical model to analyze and optimize loop nests. The current state-of-art tools limit the application of the polyhedral model to static control codes. Thus, none of these tools can generally handle codes with while loops, indirect memory accesses, or pointers. Apollo (Automatic POLyhedral Loop Optimizer) is a framework that goes one step beyond and applies the polyhedral model dynamically by using TLS. Apollo can predict, at runtime, whether the codes are behaving linearly or not, and it applies polyhedral transformations on-the-fly. This article presents a novel system that enables Apollo to handle codes whose memory accesses and loop bounds are not necessarily linear. More generally, this approach expands the applicability of the polyhedral model at runtime to a wider class of codes. Plugging together both linear and nonlinear accesses to the dependence prediction model enables the application of polyhedral loop optimizing transformations even for nonlinear code kernels while also allowing a low-cost speculation verification. Aravind Sukumaran-Rajam, Philippe Clauss |
ACM Trans. Archit. Code Optim. | 2 |
| 2015 | XFOR: Filling the Gap between Automatic Loop Optimization and Peak PerformanceabstractWe propose a new loop structure named "xfor", offering programmers explicit control of the interactions between statements inside a loop nest. An xfor simultaneously represents several for-loops and several statements, and maps their respective iteration domains onto each other according to two parameters, called "grain" and "offset". Grains and offsets basically "stretch" and "shift" iteration domains relative to an implicit, global referential domain. We show that such a programming structure allows to fill important optimization gaps remained by automatic loop optimizers. We highlight five important gaps filled by xfor which are: insufficient data locality optimization, excess of conditional branches in the generated code, too verbose code with too many machine instructions, data locality optimization resulting in processor stalls, and finally missed factorization opportunities. We describe programming strategies where xfor-loops help produce efficient code and exhibit a set of benchmark programs rewritten with xfor, with significant, and sometimes dramatic, execution time speed-ups. Imen Fassi, Philippe Clauss |
ISPDC | 2 |
| 2014 | Speculative Program Parallelization with Scalable and Decentralized Runtime Verification
Aravind Sukumaran-Rajam, Juan Manuel Martinez Caamaño, Willy Wolff, Alexandra Jimborean, Philippe Clauss |
RV | 5 |
| 2014 | Recovering memory access patterns of executable programs
Alain Ketterlin, Philippe Clauss |
Sci. Comput. Program. | 2 |
| 2013 | Online Dynamic Dependence Analysis for Speculative Polyhedral Parallelization
Alexandra Jimborean, Philippe Clauss, Juan Manuel Martinez Caamaño, Aravind Sukumaran-Rajam |
Euro-Par | 2 |
| 2012 | VMAD: An Advanced Dynamic Program Analysis and Instrumentation Framework
Alexandra Jimborean, Luis Mastrangelo, Vincent Loechner, Philippe Clauss |
CC | 4 |
| 2012 | Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and OptimizationabstractThis paper describes a tool using one or more executions of a sequential program to detect parallel portions of the program. The tool, called Par wiz, uses dynamic binary instrumentation, targets various forms of parallelism, and suggests distinct parallelization actions, ranging from simple directive tagging to elaborate loop transformations. The first part of the paper details the link between the program's static structures (like routines and loops), the memory accesses performed by the program, and the dependencies that are used to highlight potential parallelism. This part also describes the instrumentation involved, and the general architecture of the system. The second part of the paper puts the framework into action. The first study focuses on loop parallelism, targeting OpenMP parallel-for directives, including privatization when necessary. The second study is an adaptation of a well-known vectorization technique based on a slightly richer dependence description, where the tool suggests an elaborate loop transformation. The third study views loops as a graph of (hopefully lightly) dependent iterations. The third part of the paper explains how the overall cost of data-dependence profiling can be reduced. This cost has two major causes: first, instrumenting memory accesses slows down the program, and second, turning memory accesses into dependence graphs consumes processing time. Par wiz uses static analysis of the original (binary) program to provide data at a coarser level, moving from individual accesses to complete loops whenever possible, thereby reducing the impact of both sources of inefficiency. Alain Ketterlin, Philippe Clauss |
MICRO | 2 |
| 2012 | Adapting the polyhedral model as a framework for efficient speculative parallelizationabstractIn this paper, we present a Thread-Level Speculation (TLS) framework whose main feature is to be able to speculatively parallelize a sequential loop nest in various ways, by re-scheduling its iterations. The transformation to be applied is selected at runtime with the goal of minimizing the number of rollbacks and maximizing performance. We perform code transformations by applying the polyhedral model that we adapted for speculative and runtime code parallelization. For this purpose, we design a parallel code pattern which is patched by our runtime system according to the profiling information collected on some execution samples. Adaptability is ensured by considering chunks of code of various sizes, that are launched successively, each of which being parallelized in a different manner, or run sequentially, depending on the currently observed behavior for accessing memory. Alexandra Jimborean, Philippe Clauss, Benoît Pradelle, Luis Mastrangelo, Vincent Loechner |
PPoPP | 2 |
| 2012 | Polyhedral parallelization of binary codeabstractMany automatic software parallelization systems have been proposed in the past decades, but most of them are dedicated to source-to-source transformations. This paper shows that parallelizing executable programs is feasible, even if they require complex transformations, and in effect decouples parallelization from compilation, for example, for closed-source or legacy software, where binary code is the only available representation. We propose an automatic parallelizer, which is able to perform advanced parallelization on binary code. It first parses the binary code and extracts high-level information. From this information, a C program is generated. This program captures only a subset of the program semantics, namely, loops and memory accesses. This C program is then parallelized using existing, state-of-the-art parallelizers, including advanced polyhedral parallelizers. The original program semantics is then re-injected, and the transformed parallel loop nests are recompiled by a standard C compiler. We show on the PolyBench benchmark suite that our system successfully detects and parallelizes almost all the loop nests from the binary code, using a recent polyhedral loop parallelizer as a backend. The paper ends by elaborating a strategy to parallelize more complex programs, such as those containing non-linear accesses to memory, and provides a few example case-studies. Benoît Pradelle, Alain Ketterlin, Philippe Clauss |
ACM Trans. Archit. Code Optim. | 3 |
| 2011 | VMAD: A virtual machine for advanced dynamic analysis of programsabstractRuntime code analysis and optimization is becoming a main strategy used to face the ever extending and changing variety of processor architectures and execution environments that an application can meet. Particularly with the advent of multicore processors, efficient program optimizations, such as adaptive and speculative parallelism, require accurate and advanced runtime analyses, which inevitably incur a time overhead that has to be minimized. In this paper, we present VMAD, a virtual machine (VM) that handles x86_54 binary files, which are especially tailored at compile time to include instructions and data for code instrumentation and for the VM. VMAD enables low level profiling initiated by the programmer from the source code, through the insertion of a dedicated pragma delimiting the regions of interest. This approach provides the programmer a direct view of the actual execution behavior of the source code. To our knowledge, VMAD is the first proposal providing low-level instrumentation initiated from the source code, with almost negligible runtime overhead. Alexandra Jimborean, Matthieu Herrmann, Vincent Loechner, Philippe Clauss |
ISPASS | 4 |
| 2011 | Efficient memory tracing by program skeletonizationabstractMemory profiling is useful for a variety of tasks, most notably to produce traces of memory accesses for cache simulation. However, instrumenting every memory access incurs a large overhead, in the amount of code injected in the original program as well as in execution time. This paper describes how static analysis of the binary code can be used to reduce the amount of instrumentation. The analysis extracts loops and memory access functions by tracking how memory addresses are computed from a small set of base registers holding, e.g., routine parameters and loop counters. Instrumenting these base registers instead of memory operands reduces the weight of instrumentation, first statically by reducing the amount of injected code, and second dynamically by reducing the amount of instrumentation code actually executed. Also, because the static analysis extracts intermediate-level program structures (loops and branches) and access functions in symbolic form, it is easy to transform the original executable into a skeleton program that consumes base register values and produces memory addresses. The first advantage of using a skeleton is to be able to overlap the execution of the instrumented program with that of the skeleton, thereby reducing the overhead of recomputing addresses. The second advantage is that the skeleton program and its shorter input trace can be saved and rerun as many times as necessary without requiring access to the original architecture, e.g., for cache design space exploration. Alain Ketterlin, Philippe Clauss |
ISPASS | 2 |
| 2010 | Recovering the Memory Behavior of Executable ProgramsabstractThis paper deals with the binary analysis of executable programs, with the goal of understanding how they access memory. It explains how to statically build a formal model of all memory accesses. Starting with a control-flow graph of each procedure, well-known techniques are used to structure this graph into a hierarchy of loops in all cases. The paper shows that much more information can be extracted by performing a complete data-flow analysis over machine registers after the program has been put in static single assignment (SSA) form. By using the SSA form, registers used in addressing memory can be symbolically expressed in terms of other, previously set registers. By including the loop structures in the analysis, loop indices and trip counts can also often be expressed symbolically. The whole process produces a formal model made of loops where memory accesses are linear expressions of loop counters and registers. The paper provides a quantitative evaluation of the results when applied to several dozens of SPEC benchmark programs. Because static analysis is often incomplete, the paper ends by describing a lightweight instrumentation strategy that collects at run time enough information to complete the program's symbolic description. Alain Ketterlin, Philippe Clauss |
SCAM | 2 |
| 2009 | Efficient Parallel Implementation of Evolutionary Algorithms on GPGPU Cards
Ogier Maitre, Nicolas Lachiche, Philippe Clauss, Laurent A. Baumes, Avelino Corma, Pierre Collet |
Euro-Par | 3 |
| 2009 | A meta-predictor framework for prefetching in object-based DSMsabstractAbstract Dynamic optimizers modify the binary code of programs at runtime by profiling and optimizing certain aspects of the execution. We present a completely software‐based framework that dynamically optimizes programs for object‐based distributed shared memory (DSM) systems on clusters. In DSM systems, reducing the number of messages between cluster nodes is crucial. Prefetching transfers data in advance from the storage node to the local node so that communication is minimized. Our framework uses a profiler and a dynamic binary rewriter that monitor the access behavior of the application and place prefetches where they are beneficial to speed up the application. In addition, we use two distinct predictors to handle different types of access patterns. A meta‐predictor analyzes the memory access behavior and dynamically enables one of the predictors. Our system also adapts the number of prefetches per request to best fit the application's behavior. The evaluation shows that the performance of our system is better than the manual prefetching. The number of messages sent decreases by up to 90%. Performance gains of up to 80% can be observed on benchmarks. Copyright © 2009 John Wiley & Sons, Ltd. Jean Christophe Beyler, Michael Klemm, Philippe Clauss, Michael Philippsen |
Concurr. Comput. Pract. Exp. | 3 |
| 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. | 1 |
| 2008 | Prediction and trace compression of data access addresses through nested loop recognitionabstractThis paper describes an algorithm that takes a trace (i.e., a sequence of numbers or vectors of numbers) as input, and from that produces a sequence of loop nests that, when run, produces exactly the original sequence. The input format is suitable for any kind of program execution trace, and the output conforms to standard models of loop nests. The first, most obvious, use of such an algorithm is for program behavior modeling for any measured quantity (memory accesses, number of cache misses, etc.). Finding loops amounts to detecting periodic behavior and provides an explanatory model. The second application is trace compression, i.e., storing the loop nests instead of the original trace. Decompression consists of running the loops, which is easy and fast. A third application is value prediction. Since the algorithm forms loops while reading input, it is able to extrapolate the loop under construction to predict further incoming values. Throughout the paper, we provide examples that explain our algorithms. Moreover, we evaluate trace compression and value prediction on a subset of the SPEC2000 benchmarks. Alain Ketterlin, Philippe Clauss |
CGO | 2 |
| 2008 | Automatic Prefetching with Binary Code Rewriting in Object-Based DSMs
Jean Christophe Beyler, Michael Klemm, Michael Philippsen, Philippe Clauss |
Euro-Par | 4 |
| 2007 | Esodyp+: Prefetching in the Jackal Software DSM
Michael Klemm, Jean Christophe Beyler, Ronny T. Lampert, Michael Philippsen, Philippe Clauss |
Euro-Par | 5 |
| 2007 | Performance driven data cache prefetching in a dynamic software optimization systemabstractSoftware or hardware data cache prefetching is an efficient way to hide cache miss latency. However effectiveness of the issued prefetches have to be monitored in order to maximize their positive impact while minimizing their negative impact on performance. In previous proposed dynamic frameworks, the monitoring scheme is either achieved using processor performance counters or using specific hardware. In this work, we propose a prefetching strategy which does not use any specific hardware component or processor performance counter. Our dynamic framework wants to be portable on any modern processor architecture providing at least a prefetch instruction. Opportunity and effectiveness of prefetching loads is simply guided by the time spent to effectively obtain the data. Every load of a program is monitored periodically and can be either associated to a dynamically inserted prefetch instruction or not. It can be associated to a prefetch instruction at some disjoint periods of the whole program run as soon as it is efficient. Our framework has been implemented for Itanium-2 machines. It involves several dynamic instrumentations of the binary code whose overhead is limited to only 4% on average. On a large set of benchmarks, our system is able to speed up some programs by 2%--143%. Jean Christophe Beyler, Philippe Clauss |
ICS | 2 |
| 2006 | Polyhedral Modeling and Analysis of Memory Access ProfilesabstractIn this paper, we propose to model memory access profile information as loop nests exhibiting useful characteristics on the memory behavior, such as periodicity, linearly linked memory access patterns and repetitions. It is shown that static analysis methods as the polytope model approach can then apply onto the generated nested-loop representations. Moreover, the modeling loop nests can themselves be instrumented and run in order to generate further useful information that can also be modeled and analyzed. Philippe Clauss, Bénédicte Kenmei |
ASAP | 1 |
| 2005 | The Periodic-Linear Model of Program Behavior Capture
Philippe Clauss, Bénédicte Kenmei, Jean Christophe Beyler |
Euro-Par | 1 |
| 2004 | A Symbolic Approach to Bernstein Expansion for Program Analysis and Optimization
Philippe Clauss, Irina Tchoupaeva |
CC | 1 |
| 2002 | Precise Data Locality Optimization of Nested Loops
Vincent Loechner, Benoît Meister, Philippe Clauss |
J. Supercomput. | 3 |
| 2001 | Data Sequence Locality: A Generalization of Temporal Locality
Vincent Loechner, Benoît Meister, Philippe Clauss |
Euro-Par | 3 |
| 1997 | Handling Memory Cache Policy with Integer Points Counting
Philippe Clauss |
Euro-Par | 1 |
| 1996 | Parametric Analysis of Polyhedral Iteration SpacesabstractIn the area of automatic parallelization of programs, analyzing and transforming loop nests with parametric affine loop bounds requires fundamental mathematical results. The most common geometrical model of iteration spaces, called the polytope model, is based on mathematics dealing with convex and discrete geometry, linear programming, combinatorics and geometry of numbers. In this paper, we present an automatic method for computing the number of integer points contained in a convex polytope or in a union of convex polytopes. The procedure consists of first, computing the parametric vertices of a polytope defined by a set of parametric linear constraints, and then computing the Ehrhart polynomial, i.e. a parametric expression of the number of integer points. The paper is illustrated with the computation of the maximum available parallelism of a given loop nest. Philippe Clauss, Vincent Loechner |
ASAP | 1 |
| 1996 | Counting Solutions to Linear and Nonlinear Constraints Through Ehrhart Polynomials: Applications to Analyze and Transform Scientific Programs
Philippe Clauss |
International Conference on Supercomputing | 1 |
| 1994 | Optimal mapping of systolic algorithms by regular instruction shiftsabstractThis paper addresses the problem of determining efficient mappings of systems of affine recurrence equations into regular arrays, in a nearly space-optimal fashion. A new nonlinear allocation technique is presented: the Instruction Shift. It allows to synthesize planar regular arrays without increasing the initial linear schedule. This technique is illustrated with the LL/sup t/ Cholesky factorization.> Philippe Clauss, Guy-René Perrin |
ASAP | 1 |
| 1994 | Geometrical Tools to Map Systems of Affine Recurrence Equations on Regular Arrays
Catherine Mongenet, Philippe Clauss, Guy-René Perrin |
Acta Informatica | 2 |
| 1993 | Synthesis Aspects in the Design of Efficient Processor Arrays from Affine Recurrence Equations
Philippe Clauss, Catherine Mongenet |
J. Symb. Comput. | 1 |
| 1992 | Synthesis of size-optimal toroidal arrays for the Algebraic Path Problem: A new contribution
Philippe Clauss, Catherine Mongenet, Guy-René Perrin |
Parallel Comput. | 1 |
| 1990 | Calculus of space-optimal mappings of systolic algorithms on processor arraysabstractThe authors present a method for the mapping of systolic algorithms that use the minimal number of processors. This method is based on geometrical interpretations on convex polyhedra in Z/sup n/. The authors present a recurrence equation model defining the target problems for systolic program derivation. Some geometrical tools on convex polyhedra in Z/sup n/ are given. They are first used to model systolic timing allocation in terms of geometrical structures, and then to deduce a processor array mapping method that automatically gives space-optimal mappings. The results are used to derive two space-optimal mappings of the Gaussian elimination algorithm.> Philippe Clauss, Catherine Mongenet, Guy-René Perrin |
ASAP | 1 |