hwloc lstopo App
Il pacchetto software Portable Hardware Locality (hwloc) fornisce un astrazione portabile (attraverso OS, versioni, architetture, ...) della topologia gerarchica delle architetture moderne, inclusi i nodi di memoria NUMA, i socket, le cache condivise, i core e il multithreading simultaneo. Raccoglie anche vari attributi di sistema come informazioni sulla cache e sulla memoria, oltre alla località dei dispositivi I/O come interfacce di rete, HCA InfiniBand o GPU.
hwloc ha principalmente l'obiettivo di aiutare le applicazioni a raccogliere informazioni su piattaforme di calcolo parallelo sempre più complesse per sfruttarle di conseguenza e in modo efficiente. Ad esempio, due compiti che collaborano strettamente dovrebbero probabilmente essere collocati su core che condividono una cache. Tuttavia, due compiti indipendenti e intensivi in memoria dovrebbero essere distribuiti su socket diversi per massimizzare il loro throughput di memoria.
