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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Paul Feautrier

dblp:52/5537 · DBLP profile ↗
← Back
29ranked-venue papers
6as first author
0since 2021 · last 2014
—ORCID · none

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

Systems, architecture and hardware · 21 · 5 first-authorSoftware engineering, systems software and programming languages · 6 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2Computer networks · 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 · 32% Program analysis · 31% Programming languages and type systems · 29%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Memory systems · 66% Parallel and multicore computing · 34%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler analysis
array data-flow analysis
0.222013
Array dataflow analysis for polyhedral X10 programs · PPoPP 2013
Fuzzy Array Dataflow Analysis · PPoPP 1995
Programming languages and type systems › language semantics › concurrent language semantics
parallel language semantics
0.212013
Array dataflow analysis for polyhedral X10 programs · PPoPP 2013
Program analysis
static analysis
0.212013
Array dataflow analysis for polyhedral X10 programs · PPoPP 2013
Concurrent programming › concurrency bug detection
data race detection
0.012013
Array dataflow analysis for polyhedral X10 programs · PPoPP 2013
Memory systems › processing-in-memory
intelligent memory
0.012003
Programming the FlexRAM parallel intelligent memory system · PPoPP 2003
Parallel and multicore computing
parallel programming models
0.012003
Programming the FlexRAM parallel intelligent memory system · PPoPP 2003
Memory systems
processing-in-memory
0.012003
Programming the FlexRAM parallel intelligent memory system · PPoPP 2003
Program analysis
data flow analysis
0.011995
Fuzzy Array Dataflow Analysis · PPoPP 1995
Compilers and program optimization
parallelizing compiler
0.011995
Fuzzy Array Dataflow Analysis · PPoPP 1995
Memory systems
cache coherence
0.011978
A New Solution to Coherence Problems in Multicache Systems · IEEE Trans. Computers 1978
Parallel and multicore computing
multiprocessor system
0.011978
A New Solution to Coherence Problems in Multicache Systems · IEEE Trans. Computers 1978

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

polyhedral model · 0.2data flow analysis · 0.2simulation · 0.0interconnection bus · 0.0
YearPublicationVenuePosition
2014 Improving the Performance of X10 Programs by Clock Removal
Paul Feautrier, Eric Violard, Alain Ketterlin
CC1
2013 Array dataflow analysis for polyhedral X10 programs
abstract
This paper addresses the static analysis of an important class of X10 programs, namely those with finish/async parallelism, and affine loops and array reference structure as in the polyhedral model. For such programs our analysis can certify whenever a program is deterministic or flags races.
Tomofumi Yuki, Paul Feautrier, Sanjay V. Rajopadhye, Vijay A. Saraswat
PPoPP2
2010 Multi-dimensional Rankings, Program Termination, and Complexity Bounds of Flowchart Programs
Christophe Alias, Alain Darte, Paul Feautrier, Laure Gonnord
SAS3
2009 Elementary transformation analysis for Array-OL
abstract
Array-OL is a high-level specification language dedicated to the definition of multidimentional intensive signal processing applications. It allows to specify both the task parallelism and the data parallelism of these applications on focusing on their complex multidimensional data access patterns. Several tools exist for implementing an Array-OL specification as a data parallel program. While Array-OL can be used directly, it is often convenient to be able to deduce part of the specification from a sequential version of the application. This paper proposes such an analysis and examines its feasibility and its limits.
Ouassila Labbani-Narsis, Paul Feautrier, Eric Lenormand, Michel Barreteau
AICCSA2
2009 Methods for power optimization in SOC-based data flow systems
abstract
Whereas the computing power of DSP or general-purpose processors was sufficient for 3G baseband telecommunication algorithms, stringent timing constraints of 4G wireless telecommunication systems require computing-intensive data-driven architectures. Managing the complexity of these systems within the energy constraints of a mobile terminal is becoming a major challenge for designers. System-level low-power policies have been widely explored for generic software-based systems, but data-flow architectures used for high data-rate telecommunication systems feature heterogeneous components that require specific configurations for power management. In this study, we propose an innovative power optimization scheme tailored to self-synchronized data-flow systems. Our technique, based on the synchronous data-flow modeling approach, takes advantage of the latest low-power techniques available for digital architectures. We illustrate our optimization method on a complete 4G telecommunication baseband modem and show the energy savings expected by this technique considering present and future silicon technologies.
Philippe Grosse, Yves Durand, Paul Feautrier
ACM Trans. Design Autom. Electr. Syst.3
2007 An Exact Resource Constrained-Scheduler using Graph Coloring technique
abstract
Scheduling is an important technique in high-level synthesis to match application computations and hardware resources. Scheduling a whole program is not possible as too many constraints and objectives interact. We decompose high-level scheduling in three steps. Step 1: Coarse-grain scheduling tries to exploit parallelism and locality of the whole program (in particular in loops, possibly imperfectly nested) with a rough view of the target architecture. This produces a sequence of logical steps, each of which contains a pool of macro-tasks (with no loops). Step 2: Fine-grain scheduling refines each logical step by scheduling all its macro-tasks. Between both steps a resource assignation is done by mapping each macro-task independently. We uniformly expressed the data dependences and resource constraints. As most scheduling problems, scheduling tasks under resources constraints to minimize the total duration is NP-complete. Our goal here is to design strategy for reaching optimal solutions in reasonable time. Our algorithmic contribution is an exact branch-and-bound algorithm, where each evaluation is accelerated by both maximal and greedy clique computation. The effectiveness and efficiency of the approach are good, which is illustrated by means of some practical benchmarks.
Hadda Cherroun, Paul Feautrier
AICCSA2
2007 eSimu: a Fast and Accurate Energy Consumption Simulator for Real Embedded System
abstract
This paper presents a performance and energy consumption simulator for deeply embedded hardware platforms such as sensor network nodes. These tools are based on cycle accurate simulation of complete hardware platforms executing the real application code. This allows designers to get fast performance and consumption estimations without deploying software on target hardware, while being independent of any compilation tools or software components such as network protocols or operating systems.
Nicolas Fournel, Antoine Fraboulet, Paul Feautrier
WOWMOM3
2006 Scheduling under resource constraints using dis-equations
abstract
Scheduling is an important step in high-level synthesis (HLS). In our tool, we perform scheduling in two steps: coarse-grain scheduling, in which we take into account the whole control structure of the program including imperfect loop nests, and fine-grain scheduling, where we refine each logical step using a detailed description of the available resources. This paper focuses on the second step. Tasks are modeled as reservation tables (or templates) and we express resource constraints using dis-equations (i.e., negations of equations). We give an exact algorithm based on a branch-and-bound method, coupled with variants of Dijkstra's algorithm, which we compare with a greedy heuristic. Both algorithms are tested on pieces of scientific applications to demonstrate their suitability for HLS tools
Hadda Cherroun, Alain Darte, Paul Feautrier
DATE3
2006 Beyond Iteration Vectors: Instancewise Relational Abstract Domains
Pierre Amiranoff, Albert Cohen 0001, Paul Feautrier
SAS3
2004 More Legal Transformations for Locality
Cédric Bastoul, Paul Feautrier
Euro-Par2
2003 Improving Data Locality by Chunking
Cédric Bastoul, Paul Feautrier
CC2
2003 Programming the FlexRAM parallel intelligent memory system
abstract
In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge.In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of high-level compiler directives inspired by OpenMP called CFlex. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called Intelligent Memory Operations (IMOs). These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.
Basilio B. Fraguela, Jose Renau, Paul Feautrier, David A. Padua, Josep Torrellas
PPoPP3
2002 On the Equivalence of Two Systems of Affine Recurrence Equations (Research Note)
Denis Barthou, Paul Feautrier, Xavier Redon
Euro-Par2
2002 Multi-periodic Process Networks: Prototyping and Verifying Stream-Processing Systems
Albert Cohen 0001, Daniela Genius, Abdesselem Kortebi, Zbigniew Chamski, Marc Duranton, Paul Feautrier
Euro-Par6
2002 Instance-wise points-to analysis for loop-based dependence testing
abstract
We present a points-to analysis that aims at enabling loop-based dependence analysis in the presence of Java references. The analysis is based on an abstraction called element-wise points-to (ewpt) mapping. An ewpt mapping summarizes, in a compact representation, the relation between a pointer and the heap object it points to, for every instance of the pointer inside a loop and for every array element directly accessible through this pointer. Such instance-wise and element-wise information is especially important for loop-based dependence analyses and for a language where multi-dimensional arrays are implemented as arrays of pointers. We describe an iterative algorithm to compute ewpt mappings. We also present techniques to remove objects from ewpt mappings for destructive updates.The points-to algorithm was implemented and evaluated on a set of benchmark programs. We demonstrate that ewpt information can significantly improve the precision of dependence analysis. In many cases, the dependence analysis reports no false dependences due to array accesses.
Peng Wu 0001, Paul Feautrier, David A. Padua, Zehra Sura
ICS2
2000 PCI-DDC Application Programming Interface: Performance in User-Level Messaging (Research Note)
Éric Renault, Paul Feautrier
Euro-Par3
1998 A Parallelization Framework for Recursive Tree Programs
Paul Feautrier
Euro-Par1
1998 Automatic Storage Management for Parallel Programs
Vincent Lefebvre, Paul Feautrier
Parallel Comput.2
1997 Basis of Parallel Speculative Execution
Paul Feautrier
Euro-Par1
1997 Optimizing Storage Size for Static Control Programs in Automatic Parallelizers
Vincent Lefebvre, Paul Feautrier
Euro-Par2
1997 Fuzzy Array Dataflow Analysis
Denis Barthou, Jean-Francois Collard, Paul Feautrier
J. Parallel Distributed Comput.3
1995 Fuzzy Array Dataflow Analysis
abstract
Exact array dataflow analysis can be achieved in the general case if the only control structures are do-loops and structural ifs, and if loop counter bounds and array subscripts are affine expressions of englobing loop counters and possibly some integer constants. In this paper, we begin the study of dataflow analysis of dynamic control programs, where arbitrary ifs and whiles are allowed. In the general case, this dataflow analysis can only be fuzzy.
Jean-Francois Collard, Denis Barthou, Paul Feautrier
PPoPP3
1995 Compiling for massively parallel architectures: a perspective
Paul Feautrier
Microprocess. Microprogramming1
1994 Scheduling reductions
abstract
In order to detect more parallelism in scientific programs, one may extract a parallelism relative to reductions. This paper presents such a method which schedules programs with explicit computations of reductions. We describe the way the reductions are expressed in our input language (which is in fact the output language of the reductions detector presented in [RF93]). We also give a brief summary of scheduling techniques. In order to simplify the scheduling we suppose that the target parallel computer has an infinite number of processors with infinite fan-in. We show that a schedule computed with this model can be adapted to work on real parallel machines. Then we present a scheduling method based on the algorithms from [Fea92a, Fea92b] which works in presence of reductions. This method is applied on an example. Lastly, we show that side-effects of reductions scheduling are the simplification of the scheduling process and the improvement of the computed schedules.
Xavier Redon, Paul Feautrier
International Conference on Supercomputing2
1993 Toward Automatic Partitioning of Arrays on Distributed Memory Computers
abstract
This paper considers the problem of distributing data and code among the processors of a distributed memory supercomputer. Provided that the source program is amenable to detailed dataflow analysis, one may determine a placement function by an algorithm analogous to Gaussian elimination. Such a function completely characterizes the distribution by giving the identity of the virtual processor on which each elementary calculation is executed. One has then to "realize" the virtual processors on the PE. The resulting structure satisfies the "owner computes" rule and is reminiscent of two-level distribution schemes, like HPF's ALIGN and DISTRIBUTE directives, or the CM-2 virtual processor system.
Paul Feautrier
International Conference on Supercomputing1
1992 Processor allocation and loop scheduling on multiprocessor computers
abstract
This paper is concerned with the automatic exploitation of the parallelism detected in a sequential program. The target machine is a shared memory multiprocessor.
Nadia Tawbi, Paul Feautrier
ICS2
1988 Array expansion
abstract
A common problem in restructuring programs for vector or parallel execution is the suppression of false dependencies which originate in the reuse of the same memory cell for unrelated values. The method is simple and well understood in the case of scalars. This paper gives the general solution for the case of arrays. The expansion is done in two steps: first, modify all definitions of the offending array in order to obtain the single assignment property. Then, reconstruct the original data flow by adapting all uses of the array. This is done with the help of a new algorithm for solving parametric integer programs. The technique is quite general and may be used for other purposes, including program checking, collecting array predicates, etc…
Paul Feautrier
ICS1
1986 Automatic Parallelization of Fortran Programs in the Presence of Procedure Calls
Rémi Triolet, Paul Feautrier, François Irigoin
ESOP2
1978 A New Solution to Coherence Problems in Multicache Systems
abstract
A memory hierarchy has coherence problems as soon as one of its levels is split in several independent units which are not equally accessible from faster levels or processors. The classical solution to these problems, as found for instance in multiprocessor, multicache systems, is to restore a degree of interdependence between such units through a set of high speed interconnecting buses. This solution is not entirely satisfactory, as it tends to reduce the throughput of the memory hierarchy and to increase its cost.
Lucien M. Censier, Paul Feautrier
IEEE Trans. Computers2