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§
- The type of a memory range.
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).