Vers une meilleure maîtrise des architectures de processeurs avec hwloc 2.0

Date:
Mis à jour le 24/04/2020
Brice Goglin, chargé de recherche au sein de l’équipe TADaaM est le développeur principal du logiciel Portable Hardware Locality (hwloc) utilisé pour connaître et abstraire l’architecture des ordinateurs. Une version 2.0 de ce logiciel open source est disponible en téléchargement.

À quoi sert hwloc ?

Le logiciel hwloc permet par exemple de connaître le nombre de ressources de calcul et mémoire des machines et de déterminer leur localisation. Les autres logiciels peuvent grâce à lui répartir intelligemment le travail sur les différents cœurs de calcul.

L’objectif principal d’hwloc est donc d’aider les programmes à collecter des informations sur des plates-formes de calcul parallèle et de simulation numérique, qui sont de plus en plus complexes, afin de les exploiter efficacement.
Utilisé dans tous les centres de calcul haute performance (HPC) du monde, ce logiciel « simplifie la vision qu’ont les gens du matériel , résume Brice.
 

Image
portrait de Brice Goglin
Verbatim

La difficulté consiste à trouver un juste milieu entre une vision trop simple qui cacherait trop de détails et une trop grande quantité d’informations qui seraient inutilisables en pratique.

Auteur

Brice Goglin

Poste

researcher in project team TADaaM

Également chargé de médiation scientifique du centre de recherche Inria Bordeaux Sud-Ouest, il a publié dans Interstices - la revue de culture scientifique Inria – "et plus si affinités …" un article de vulgarisation scientifique permettant de mieux appréhender ces travaux.

Comment est-il développé et distribué ?

Hwloc est un logiciel open source distribué sous licence BSD. Il est développé depuis 2009 dans le cadre du consortium Open MPI qui regroupe des partenaires académiques, scientifiques et industriels collaborant au développement des outils pour le calcul parallèle. Le logiciel Open MPI est une implémentation du standard MPI (Message Passing Interface) qui gère les communications dans les plates-formes de calcul parallèle. Open MPI puis de nombreuses autres bibliothèques de support aux applications parallèles (OpenMP, etc), open source ou commerciales, se sont tournées vers hwloc pour récupérer les informations sur l’architecture des plates-formes de calcul.

capture d'écran
capture d'écran

A qui sert-il ?

Le logiciel sert principalement aux utilisateurs et utilisatrices des plates-formes de calcul parallèle qui doivent pouvoir exploiter ce matériel sans avoir à connaître leurs détails techniques (types et nombres de processeurs, de mémoire, …). En pratique, de nombreux et nombreuses utilisateurs et utilisatrices ne savent même pas qu’ils utilisent hwloc car il est caché dans d’autres briques logicielles telles que les implémentations MPI ou OpenMP.

Les fabricants de processeurs s’intéressent beaucoup à hwloc car il est important qu’il supporte bien leur matériel afin que les applications parallèles s’exécutent efficacement dessus.
Intel Corporation a ainsi financé l’équipe-projet TADaaM pour l’encourager à adapter le logiciel à sa nouvelle génération de processeurs. En effet, ces dernières années l’architecture des processeurs et de la mémoire évolue fortement, il fallait adapter hwloc pour qu’il présente au mieux ces nouveautés aux applications.
C’est pour répondre à ces évolutions qu’est sortie en février 2018 la version 2.0 du logiciel.