pytorch/cpuinfo

CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)

解決的問題

提供跨平台方式來檢測主機 CPU 的詳細硬體資訊,這對於效能最佳化至關重要。它讓開發者能夠識別特定的微架構、支援的指令集以及處理器的快取層次結構,從而撰寫能利用硬體特定最佳化的程式碼。

工作原理

該函式庫使用多種平台特定的方法來提取 CPU 資料,包括 x86 上的 CPUID 叶子、ARM/Linux 上的 /proc/cpuinfogetauxval,以及 Windows 上的系統 API(如 GetLogicalProcessorInformationEx)。它處理不同作業系統(Linux、Windows、macOS、Android、iOS、FreeBSD)和架構(x86、x86-64、ARM、ARM64)的複雜性,提供統一的 C/C++ 介面。

適用對象

需要在執行時檢測 CPU 功能的系統程式設計師與效能工程師,用於分派至最佳化內核或處理異質核心配置(如 ARM big.LITTLE)。

主要特色

  • 跨平台支援:可在主要作業系統與多種 CPU 架構上運作。
  • 詳細的硬體檢測:可識別 SoC 名稱、微架構、快取大小與拓撲結構。
  • 指令集檢測:可檢測 x86 的 AVX512 與 ARMv8.3 擴充功能的支援情況。
  • 生產就緒:執行緒安全,初始化後無記憶體配置,並包含對硬體與作業系統核心錯誤的繞過方案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案