pytorch/cpuinfo
CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)
解決的問題
提供跨平台方式來檢測主機 CPU 的詳細硬體資訊,這對於效能最佳化至關重要。它讓開發者能夠識別特定的微架構、支援的指令集以及處理器的快取層次結構,從而撰寫能利用硬體特定最佳化的程式碼。
工作原理
該函式庫使用多種平台特定的方法來提取 CPU 資料,包括 x86 上的 CPUID 叶子、ARM/Linux 上的 /proc/cpuinfo 和 getauxval,以及 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 擴充功能的支援情況。
- 生產就緒:執行緒安全,初始化後無記憶體配置,並包含對硬體與作業系統核心錯誤的繞過方案。
相關
- 專案
- 專案
- 專案
- 專案
- 專案