Crate atopology

source ·
Expand description

Interface to query information about the underlying hardware.

Our naming scheme follows the Intel x86/ACPI convention which has a thread/core/package/NUMA node hierarchy:

  • thread: Hardware scheduling unit (has an APIC, is an app or core bsp core)
  • core: one or more threads (usually 2)
  • package: one or more cores (usually a socket with a shared LLC)
  • affinity region: a NUMA node (consists of a bunch of threads/core/packages and memory regions)

Intel Topology is a pretty complicated subject (unfortunately), relevant documentation is here:

  • https://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/
  • https://acpica.org/documentation

Structs§

  • Represents a core in the system.
  • A struct that contains all information about current machine we’re running on.
  • Contains a condensed and filtered version of all data queried from ACPI and CPUID.
  • Represents a NUMA node in the system.
  • Represents a package/socket in the system.
  • Represents an SMT thread in the system.

Enums§

Type Aliases§

  • A core, with one or more threads (unique within a packet).
  • A system global ID for a CPU.
  • Affinity region, a NUMA node (consists of a bunch of threads/core/packages and memory regions).
  • A socket with one or more cores (usually with a shared LLC).
  • A hardware scheduling unit (has an APIC), (unique within a core).