hwloc Tutorial

Understanding and managing hardware affinities with Hardware Locality (hwloc)

HIPEAC Conference in Berlin.
January 21st, 2013, afternoon.


This tutorial will walk the audience across the complexity of modern computing servers. We will detail why those characteristics are important to HPC application developers and why they are difficult to manage manually. We will then introduce the Hardware Locality software (hwloc) which is developed to make developers' life easier by abstracting hardware topologies in a portable way.



The tutorial is designed for HPC developers that want to optimize their application or library according to hardware affinity. Some basic knowledge of hardware architecture may be required but many notions will be reexplained along the examples given in the tutorial. No knowledge of hwloc is required.

Tentative Agenda

Related bibliography

  1. Portable Hardware Locality (hwloc). https://www.open-mpi.org/projects/hwloc/.
  2. hwloc documentation.
  3. Brice Goglin, Jeff Squyres, and Samuel Thibault. Hardware Locality: Peering under the hood of your server. Linux Pro Magazine, 128:28-33, July 2011.
  4. Brice Goglin and Stéphanie Moreaud. Dodging Non-Uniform I/O Access in Hierarchical Collective Operations for Multicore Clusters. In the CASS workshop (IPDPS 2011), Anchorage, AK, May 2011. IEEE Computer Society Press. Available here.
  5. Stéphanie Moreaud, Brice Goglin, and Raymond Namyst. Adaptive MPI Multirail Tuning for Non-Uniform Input/Output Access. In EuroMPI 2010, volume 6305 of Lecture Notes in Computer Science, pages 239-248, Stuttgart, Germany, September 2010. Springer-Verlag. Best paper award. Available here.
  6. François Broquedis, Jérôme Clet-Ortega, Stéphanie Moreaud, Nathalie Furmento, Brice Goglin, Guillaume Mercier, Samuel Thibault, and Raymond Namyst. hwloc: a Generic Framework for Managing Hardware Affinities in HPC Applications. In PDP2010, Pisa, Italia, February 2010. IEEE Computer Society Press. Available here.


Brice Goglin (Inria Bordeaux – Sud-Ouest, France) earned his PhD in Computer Science at Ecole normale supérieure in Lyon (France) in 2005. He then spent one year as a software architect at Myricom, Inc. where he developed the Myrinet Express HPC networking stack. He is now a permanent computer scientist at Inria (Bordeaux, France) where he works on high performance computing on multicore clusters. He is the main developer of the Hardware Locality project (hwloc) in collaboration with the Open MPI community. He is also involved in the development MPI communication subsystems such as Open-MX, CCI and KNEM, as well as in the integration of hardware affinity constraints in the Open MPI implementation.

Updated on July 12th, 2012