Overview of the CPU INFOrmation library
maincpuinfo is a cross-platform C/C++ library designed to detect essential host CPU information required for performance optimization. It provides thread-safe access to CPU details with no memory allocation after initialization and no exceptions thrown.
Key Capabilities:
- Instruction Set Detection: Supports up to AVX512 (x86) and ARMv8.3 extensions.
- SoC & Core Info: Detects processor names, vendors, and microarchitectures (including support for heterogeneous cores like big.LITTLE).
- Cache Information: Provides details on cache type, size, line size, associativity, and topology.
- Topology Information: Maps relationships between logical processors, cores, and processor packages.
Supported Platforms:
- Linux: x86, x86-64, 32-bit ARM, ARM64
- Windows: x86, x86-64, arm64
- macOS: x86, x86-64, ARM64 (Apple silicon)
- Android: x86, x86_64, armeabi, armeabiv7-a, arm64-v8a
- iOS: x86, x86-64, ARMv7, ARM64
- FreeBSD: x86-64