# Install hwloc with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Portable abstraction of the hierarchical topology of modern architectures. Version 2.13.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:hwloc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hwloc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install hwloc
```

  Evidence: MacPorts ports tree: devel/hwloc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add hwloc
```

  Evidence: Alpine Linux edge package indexes: hwloc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install hwloc
```

  Evidence: Debian stable package indexes: hwloc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install hwloc
```

  Evidence: Fedora Rawhide package metadata: hwloc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#hwloc
```

  Evidence: nixpkgs package indexes: pkgs/by-name/hw/hwloc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S hwloc
```

  Evidence: Arch Linux sync databases: hwloc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install hwloc
```

  Evidence: openSUSE Tumbleweed package metadata: hwloc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:hwloc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hwloc>
- **Version:** 2.13.0
- **Source summary:** Portable abstraction of the hierarchical topology of modern architectures
- **Homepage:** <https://www.open-mpi.org/projects/hwloc/>
- **Repository:** <https://github.com/open-mpi/hwloc>
- **Upstream docs:** <https://www.open-mpi.org/projects/hwloc>
- **License:** BSD-3-Clause
- **Source archive:** <https://download.open-mpi.org/release/hwloc/v2.13/hwloc-2.13.0.tar.bz2>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- hwloc-annotate (cli)
- hwloc-bind (cli)
- hwloc-calc (cli)
- hwloc-compress-dir (cli)
- hwloc-diff (cli)
- hwloc-distrib (cli)
- hwloc-gather-topology (cli)
- hwloc-info (cli)
- hwloc-ls (cli)
- hwloc-patch (cli)
- hwloc-ps (cli)
- lstopo (cli)
- lstopo-no-graphics (cli)
- hwloc-annotate (alias)
- hwloc-bind (alias)
- hwloc-calc (alias)
- hwloc-compress-dir (alias)
- hwloc-diff (alias)
- hwloc-distrib (alias)
- hwloc-gather-topology (alias)
- hwloc-info (alias)
- hwloc-ls (alias)
- hwloc-patch (alias)
- hwloc-ps (alias)
- lstopo (alias)
- lstopo-no-graphics (alias)

## Build dependencies

- pkgconf

## Uses from macOS

- libxml2
- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.13.0
- Local data: ok
- Upstream repository: https://www.open-mpi.org/projects/hwloc/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

hwloc, Hardware Locality, is a portable library and command-line tool suite for discovering and using machine topology: NUMA nodes, packages, cores, processing units, caches, I/O devices, and locality relationships. It is a system and HPC building block rather than a single end-user command.

### Project history

The Open MPI project history says hwloc evolved from and merged the libtopology and Portable Linux Processor Affinity projects because they overlapped functionally and ideologically. It was released under the hwloc name as an Open MPI sub-project and is mostly developed by the TADaaM team at Inria in Bordeaux.

The NEWS file covers features since version 0.9 and carries 2009 copyright notices for CNRS, Inria, Universite Bordeaux, and Cisco Systems. The 1.0.0 tag dates to May 2010. Later major lines expanded the API and the command-line suite while preserving the central promise: make topology discovery and binding portable across operating systems and hardware generations.

### Adoption history

Open MPI's project page lists downstream or related users including MPC, Newmadeleine, StarPU, Kokkos, oneTBB, memkind, H2M, Seastar, PaStiX, LIKWID, TensorFlow, GEOPM, and OpenPMIx. The package metadata shows broad distribution across Homebrew, Debian, Ubuntu, Fedora-family, Alpine, Arch, Nix, MacPorts, and openSUSE ecosystems.

### How it is used

Users run tools such as `lstopo`, `hwloc-info`, `hwloc-bind`, `hwloc-calc`, and related utilities to inspect topology, bind processes, calculate CPU or NUMA sets, export XML topologies, and debug locality issues. Developers use the C API to make runtime, scheduler, MPI, database, and performance tools topology-aware.

### Why package nerds care

hwloc is package-nerd-significant because it is often pulled in indirectly by high-performance and systems software. A package manager may present it as a small system formula, but it encodes hard-won portability across Linux, BSDs, macOS, Windows, Solaris, AIX, cpusets, NUMA, caches, GPUs, and other topology surfaces.

### Timeline

- 2009: NEWS history begins at version 0.9, with CNRS, Inria, Universite Bordeaux, and Cisco copyright notices.
- 2010: 1.0.0 release tag published.
- 2013: GitHub mirror/repository metadata begins for the Open MPI hwloc repo.
- 2018: 2.0.x line introduced a new major API era; 2.0.0 was marked as having a broken ABI, with 2.0.1 or later recommended.
- 2026: NEWS documents 3.0.0 API changes, removals, and topology-info updates.

### Related projects

- hwloc is historically related to libtopology and PLPA, and operationally related to Open MPI, PMIx, NUMA libraries, CPU binding APIs, StarPU, Kokkos, oneTBB, memkind, TensorFlow, and other software that needs hardware-locality knowledge.

### Sources

- Open MPI hwloc project history, README, NEWS, release archives, repository metadata, and Homebrew package metadata were used.


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** hwloc
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - hwloc - 2.12.0-4: normalized package name match | Debian stable package indexes: hwloc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - utilities | https://www.open-mpi.org/projects/hwloc/
- Debian apt - hwloc-nox - 2.12.0-4: normalized package name match | Debian stable package indexes: hwloc-nox from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - non-X version of utilities | https://www.open-mpi.org/projects/hwloc/
- Debian apt - libhwloc-common - 2.12.0-4: normalized package name match | Debian stable package indexes: libhwloc-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - common files | https://www.open-mpi.org/projects/hwloc/
- Debian apt - libhwloc-dev - 2.12.0-4: normalized package name match | Debian stable package indexes: libhwloc-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - static libs and headers | https://www.open-mpi.org/projects/hwloc/
- Debian apt - libhwloc-doc - 2.12.0-4: normalized package name match | Debian stable package indexes: libhwloc-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - documentation | https://www.open-mpi.org/projects/hwloc/
- Debian apt - libhwloc-plugins - 2.12.0-4: normalized package name match | Debian stable package indexes: libhwloc-plugins from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - plugins | https://www.open-mpi.org/projects/hwloc/
- Debian apt - libhwloc15 - 2.12.0-4: normalized package name match | Debian stable package indexes: libhwloc15 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Hierarchical view of the machine - shared libs | https://www.open-mpi.org/projects/hwloc/
- Nix - hwloc: normalized package name match | nixpkgs package indexes: pkgs/by-name/hw/hwloc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - hwloc - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: hwloc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - utilities | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - hwloc-nox - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: hwloc-nox from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - non-X version of utilities | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - libhwloc-common - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhwloc-common from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - common files | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - libhwloc-dev - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhwloc-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - static libs and headers | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - libhwloc-doc - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhwloc-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - documentation | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - libhwloc-plugins - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhwloc-plugins from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - plugins | https://www.open-mpi.org/projects/hwloc/
- Ubuntu apt - libhwloc15 - 2.10.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhwloc15 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Hierarchical view of the machine - shared libs | https://www.open-mpi.org/projects/hwloc/
- apk - hwloc - 2.12.2-r0: normalized package name match | Alpine Linux edge package indexes: hwloc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Portable abstraction of hierarchical hardware architectures | https://www.open-mpi.org/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Popular package that depends on this formula.
- [mpich](https://www.automicvault.com/pkg/brew/mpich/) - Popular package that depends on this formula.
- [nwchem](https://www.automicvault.com/pkg/brew/nwchem/) - Popular package that depends on this formula.
- [open-mpi](https://www.automicvault.com/pkg/brew/open-mpi/) - Popular package that depends on this formula.
- [pmix](https://www.automicvault.com/pkg/brew/pmix/) - Popular package that depends on this formula.
- [pocl](https://www.automicvault.com/pkg/brew/pocl/) - Popular package that depends on this formula.
- [libcpuid](https://www.automicvault.com/pkg/brew/libcpuid/) - Shares av.db curated category or tags: cli, hardware, library, system.
- [lsusb](https://www.automicvault.com/pkg/brew/lsusb/) - Shares av.db curated category or tags: cli, hardware, system.
- [augeas](https://www.automicvault.com/pkg/brew/augeas/) - Shares av.db curated category or tags: cli, library, system.
- [cyme](https://www.automicvault.com/pkg/brew/cyme/) - Shares av.db curated category or tags: cli, hardware, system.
- [dcled](https://www.automicvault.com/pkg/brew/dcled/) - Shares av.db curated category or tags: cli, hardware, system.
- [digitemp](https://www.automicvault.com/pkg/brew/digitemp/) - Shares av.db curated category or tags: cli, hardware, system.
- [dpcmd](https://www.automicvault.com/pkg/brew/dpcmd/) - Shares av.db curated category or tags: cli, hardware, system.
- [framework-tool-tui](https://www.automicvault.com/pkg/brew/framework-tool-tui/) - Shares av.db curated category or tags: cli, hardware, system.
- [libfreefare](https://www.automicvault.com/pkg/brew/libfreefare/) - Local package facts share a topical domain. Shared terms: cli, hardware, info, system.

## Combined YAML source

View the package source record on GitHub. [combined/hwloc.yml](https://github.com/automic-vault/db/blob/main/combined/hwloc.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
