Nathalie Furmento
Research Subjects
Nathalie Furmento has a total of 79 co-authors. Here are the top co-authors by number of shared publications:
John Darlington
London e-Science Centre, Imperial College LondonSouth Kensington Campus, London SW7 2AZ, UK
7 shared publicationsAnthony Mayer
London e-Science Centre, Imperial College LondonSouth Kensington Campus, London SW7 2AZ, UK
5 shared publications- Brice Goglin
INRIA, LaBRI - 351 cours de la Libération, F-33405 TALENCE - FRANCE
5 shared publications Raymond Namyst
5 shared publicationsSamuel Thibault
University of Bordeaux
5 shared publicationsDenis Caromel
OASIS, Joint Project CNRS/INRIA/University of Nice Sophia-Antipolis, INRIA, 2004 Route des Lucioles, BP 93, 06902 Sophia-Antipolis Cedex, France
4 shared publications
Latest Publications
- 19 December 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. PP (10459219) , 1
Achieving High Performance on Supercomputers with a Sequential Task-based Programming Model
The emergence of accelerators as standard computing resources on supercomputers and the subsequent architectural complexity increase revived the need for high-level parallel programming paradigms. Sequential task-based programming model has been shown to efficiently meet this challenge on a single multicore node possibly enhanced with accelerators, which motivated its support in the OpenMP 4.0 standard. In this paper, we show that this paradigm can also be employed to achieve high performance on modern supercomputers composed of multiple such nodes, with extremely limited changes in the user code. To prove this claim, we have extended the StarPU runtime system with an advanced inter-node data management layer that supports this model by posting communications automatically. We illustrate our discussion with the task-based tile Cholesky algorithm that we implemented on top of this new runtime system layer. We show that it allows for very high productivity while achieving a performance competitive with both the pure Message Passing Interface (MPI)-based ScaLAPACK Cholesky reference implementation and the DPLASMA Cholesky code, which implements another (non sequential) task-based programming paradigm.
- 19 December 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. PP (10459219) , 1
Achieving High Performance on Supercomputers with a Sequential Task-based Programming Model
The emergence of accelerators as standard computing resources on supercomputers and the subsequent architectural complexity increase revived the need for high-level parallel programming paradigms. Sequential task-based programming model has been shown to efficiently meet this challenge on a single multicore node possibly enhanced with accelerators, which motivated its support in the OpenMP 4.0 standard. In this paper, we show that this paradigm can also be employed to achieve high performance on modern supercomputers composed of multiple such nodes, with extremely limited changes in the user code. To prove this claim, we have extended the StarPU runtime system with an advanced inter-node data management layer that supports this model by posting communications automatically. We illustrate our discussion with the task-based tile Cholesky algorithm that we implemented on top of this new runtime system layer. We show that it allows for very high productivity while achieving a performance competitive with both the pure Message Passing Interface (MPI)-based ScaLAPACK Cholesky reference implementation and the DPLASMA Cholesky code, which implements another (non sequential) task-based programming paradigm.
- 1 January 2014
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 16-29
Evaluation of OpenMP Dependent Tasks with the KASTORS Benchmark Suite
- 1 January 2014
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 16-29
Evaluation of OpenMP Dependent Tasks with the KASTORS Benchmark Suite
- 1 November 2012
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1330-1331
Abstract: Matrices Over Runtime Systems at Exascale
The goal of Matrices Over Runtime Systems at Exascale (MORSE) project is to design dense and sparse linear algebra methods that achieve the fastest possible time to an accurate solution on large-scale multicore systems with GPU accelerators, using all the processing power that future high end systems can make available. In this poster, we propose a framework for describing linear algebra algorithms at a high level of abstraction and delegating the actual execution to a runtime system in order to design software whose performance is portable accross architectures. We illustrate our methodology on three classes of problems: dense linear algebra, sparse direct methods and fast multipole methods. The resulting codes have been incorporated into Magma, Pastix and ScalFMM solvers, respectively.
- 1 November 2012
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1330-1331
Abstract: Matrices Over Runtime Systems at Exascale
The goal of Matrices Over Runtime Systems at Exascale (MORSE) project is to design dense and sparse linear algebra methods that achieve the fastest possible time to an accurate solution on large-scale multicore systems with GPU accelerators, using all the processing power that future high end systems can make available. In this poster, we propose a framework for describing linear algebra algorithms at a high level of abstraction and delegating the actual execution to a runtime system in order to design software whose performance is portable accross architectures. We illustrate our methodology on three classes of problems: dense linear algebra, sparse direct methods and fast multipole methods. The resulting codes have been incorporated into Magma, Pastix and ScalFMM solvers, respectively.
- 1 November 2012
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1395-1396
Abstract: Leveraging PEPPHER Technology for Performance Portable Supercomputing
PEPPHER is a 3-year EU FP7 project that develops a novel approach and framework to enhance performance portability and programmability of heterogeneous multi-core systems. Its primary target is single-node heterogeneous systems, where several CPU cores are supported by accelerators such as GPUs. This poster briefly surveys the PEPPHER framework for single-node systems, and elaborates on the prospectives for leveraging the PEPPHER approach to generate performance-portable code for heterogeneous multi-node systems.
- 1 November 2012
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1395-1396
Abstract: Leveraging PEPPHER Technology for Performance Portable Supercomputing
PEPPHER is a 3-year EU FP7 project that develops a novel approach and framework to enhance performance portability and programmability of heterogeneous multi-core systems. Its primary target is single-node heterogeneous systems, where several CPU cores are supported by accelerators such as GPUs. This poster briefly surveys the PEPPHER framework for single-node systems, and elaborates on the prospectives for leveraging the PEPPHER approach to generate performance-portable code for heterogeneous multi-node systems.
- 1 January 2012
- Published by Springer Nature
- p. 298-299
StarPU-MPI: Task Programming over Clusters of Machines Enhanced with Accelerators
- 1 January 2012
- Published by Springer Nature
- p. 298-299
StarPU-MPI: Task Programming over Clusters of Machines Enhanced with Accelerators
- 30 May 2010
- Published by Springer Nature in International Journal of Parallel Programming
- Vol. 38 (5-6) , 418-439
ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures
- 30 May 2010
- Published by Springer Nature in International Journal of Parallel Programming
- Vol. 38 (5-6) , 418-439
ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures
- Top Cited Papers
- 1 February 2010
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10666192,p. 180-186
hwloc: A Generic Framework for Managing Hardware Affinities in HPC Applications
The increasing numbers of cores, shared caches and memory nodes within machines introduces a complex hardware topology. High-performance computing applications now have to carefully adapt their placement and behavior according to the underlying hierarchy of hardware resources and their software affinities. We introduce the Hardware Locality (hwloc) software which gathers hardware information about processors, caches, memory nodes and more, and exposes it to applications and runtime systems in a abstracted and portable hierarchical manner. hwloc may significantly help performance by having runtime systems place their tasks or adapt their communication strategies depending on hardware affinities. We show that hwloc can already be used by popular high-performance OpenMP or MPI software. Indeed, scheduling OpenMP threads according to their affinities or placing MPI processes according to their communication patterns shows interesting performance improvement thanks to hwloc. An optimized MPI communication strategy may also be dynamically chosen according to the location of the communicating processes in the machine and its hardware characteristics.
- 1 February 2010
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10666192,p. 180-186
Top Cited Papershwloc: A Generic Framework for Managing Hardware Affinities in HPC Applications
The increasing numbers of cores, shared caches and memory nodes within machines introduces a complex hardware topology. High-performance computing applications now have to carefully adapt their placement and behavior according to the underlying hierarchy of hardware resources and their software affinities. We introduce the Hardware Locality (hwloc) software which gathers hardware information about processors, caches, memory nodes and more, and exposes it to applications and runtime systems in a abstracted and portable hierarchical manner. hwloc may significantly help performance by having runtime systems place their tasks or adapt their communication strategies depending on hardware affinities. We show that hwloc can already be used by popular high-performance OpenMP or MPI software. Indeed, scheduling OpenMP threads according to their affinities or placing MPI processes according to their communication patterns shows interesting performance improvement thanks to hwloc. An optimized MPI communication strategy may also be dynamically chosen according to the location of the communicating processes in the machine and its hardware characteristics.
- 1 May 2009
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 2660 (15302075) , 1-9
Enabling high-performance memory migration for multithreaded applications on LINUX
As the number of cores per machine increases, memory architectures are being redesigned to avoid bus contention and sustain higher throughput needs. The emergence of Non-Uniform Memory Access (NUMA) constraints has caused affinities between threads and buffers to become an important decision criterion for schedulers. Memory migration dynamically enables the joint distribution of work and data across the machine but requires high-performance data transfers as well as a convenient programming interface. We present improvements of the LINUX migration primitives and the implementation of a Next-touch policy in the kernel to provide multithreaded applications with an easy way to dynamically maintain thread-data affinity. Microbenchmarks show that our work enables a high-performance, synchronous and lazy memory migration within multithreaded applications. A threaded LU factorization then reveals the large improvement that our Next-touch policy model may bring in applications with complex access patterns.
- 1 May 2009
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 2660 (15302075) , 1-9
Enabling high-performance memory migration for multithreaded applications on LINUX
As the number of cores per machine increases, memory architectures are being redesigned to avoid bus contention and sustain higher throughput needs. The emergence of Non-Uniform Memory Access (NUMA) constraints has caused affinities between threads and buffers to become an important decision criterion for schedulers. Memory migration dynamically enables the joint distribution of work and data across the machine but requires high-performance data transfers as well as a convenient programming interface. We present improvements of the LINUX migration primitives and the implementation of a Next-touch policy in the kernel to provide multithreaded applications with an easy way to dynamically maintain thread-data affinity. Microbenchmarks show that our work enables a high-performance, synchronous and lazy memory migration within multithreaded applications. A threaded LU factorization then reveals the large improvement that our Next-touch policy model may bring in applications with complex access patterns.
- 1 January 2009
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 79-92
Dynamic Task and Data Placement over NUMA Architectures: An OpenMP Runtime Perspective
- 1 January 2009
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 79-92
Dynamic Task and Data Placement over NUMA Architectures: An OpenMP Runtime Perspective