Hardware Locality (hwloc)

Posté par  . Modéré par patrick_g.
Étiquettes :
23
6
nov.
2009
Matériel
Hardware Locality (hwloc) est une bibliothèque détectant le matériel et l'exposant de manière portable et générique aux utilisateurs et applications. Cela permet notamment aux applications d'adapter leur comportement à la complexité interne croissante des machines modernes, avec une hiérarchie sophistiquée de processeurs, cœurs, caches partagés, threads, nœuds NUMA

Connaître les besoins précis des applications est difficile. Mais connaître l'organisation des cœurs, caches partagés, et autres ressources matérielles, l'est tout autant, en particulier si on souhaite rester portable. Réécrire une application à chaque fois qu'on l'utilise sur une nouvelle machine est inenvisageable. hwloc est là pour se charger de détecter le matériel et de l'exposer de manière abstraite et portable sous la forme d'un arbre, soit par son interface de programmation en C, soit par des outils en ligne de commande. L'outil lstopo fournit par exemple une vue graphique de la hiérarchie de processeurs, caches, cœurs… exportable dans de nombreux formats via Cairo (voir le lien vers les exemples ci-dessous). D'autres outils permettent notamment de verrouiller des tâches à certains processeurs, cœurs…