Towards a better control of processor architectures with hwloc 2.0
Brice Goglin, researcher within theTADaaM team, is the main developer of the 'Portable Hardware Locality' (hwloc) software used to discover and abstract computer architectures.
The 2.0 version of this open source software is available for download.
What is hwloc used for?
The hwloc software program makes it possible to discover the number of computing and memory resources of the machines and to determine their locality. Thanks to hwloc, other software tools can intelligently share out work on the different computing cores.
The main objective of hwloc is therefore to help programs to collect information on increasingly complex parallel computing and numerical simulation platforms in order to exploit them efficiently.
Used in all of the high performance computing (HPC) centres in the world, this software “simplifies people's view of the equipment, Brice summarises,the difficulty is to find a balance between a too simple vision that hides too many details and too much information that would be unusable in practice."
Also officer for scientific culture for the Inria Bordeaux Sud-Ouest research centre, he has published, in Interstices - Inria's scientific culture journal – ‘et plus si affinité...’, a scientific popularisation article enabling a better understanding of this work.
How is it developed and distributed?
Hwloc is open source software distributed under BSD licence. It has been developed since 2009 within the framework of the Open MPI consortium, which brings together academic, scientific and industry partners working on the development of tools for parallel computing. The Open MPI software is an implementation of the MPI (Message Passing Interface) standard which manages communications in parallel computing platforms. Open MPI, then numerous other parallel application support libraries (OpenMP, etc.), open source or commercial, have turned to hwloc in order to retrieve information on the architecture of the computing platforms.
Who is it of use to?
The software is mainly of use to high performance computing users who must be able to exploit this equipment without needing to know its technical details (types and numbers of processors, memory, etc.). In practice, many users do not even know that they are using hwloc because it is hidden in other software modules such as MPI or OpenMP implementations.
Processor manufacturers are showing great interest in hwloc because it is important that it supports their equipment so that parallel applications run on it effectively.
Subsequently, Intel Corporation has financed the TADaaM project team to encourage it to adapt the software to its new generation of processors. Indeed, over the last few years, processor and memory architecture has evolved significantly, and hwloc has had to be adapted in order to best present these innovations to applications.
The 2.0 version of the software was released in February 2018 in response to these developments.