/
cpuinfo - Pytorch

cpuinfo - Pytorch

https://github.com/pytorch/cpuinfo#cpu-information-library

Information is needed by cpu info

Concept

Data representation

 

Information is available through MSDN API

Concept

Data representation

 

Background:

Concerns

Cluster as a missing entity on x86 (respectively on Windows)

 

Missing topology APIs for Arm on Windows

Get vendor and SoC name

Registry

PS C:\kg\python_test\github_packages\cpuinfo> reg query HKLM\Hardware\Description\System\CentralProcessor\0 /v ProcessorNameString HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0 ProcessorNameString REG_SZ Microsoft SQ2 @ 3.15 GHz

wmic

It reads information about the currently used core only, no direct connection with system logical information reported processors.

https://docs.microsoft.com/en-us/windows/win32/wmisdk/example-creating-a-wmi-application

wmic cpu list /format:list AddressWidth=64 Architecture=12 Availability=3 Caption=ARMv8 (64-bit) Family 8 Model 805 Revision D0E ConfigManagerErrorCode= ConfigManagerUserConfig= CpuStatus=1 CreationClassName=Win32_Processor CurrentClockSpeed=3148 CurrentVoltage=11 DataWidth=64 Description=ARMv8 (64-bit) Family 8 Model 805 Revision D0E DeviceID=CPU0 ErrorCleared= ErrorDescription= ExtClock= Family=280 InstallDate= L2CacheSize=1280 L2CacheSpeed= LastErrorCode= Level=2053 LoadPercentage=7 Manufacturer=Qualcomm Technologies Inc MaxClockSpeed=3148 Name=Microsoft SQ2 @ 3.15 GHz OtherFamilyDescription= PNPDeviceID= PowerManagementCapabilities= PowerManagementSupported=FALSE ProcessorId=0000000000000000 ProcessorType=3 Revision=3342 Role=CPU SocketDesignation=Qualcomm Status=OK StatusInfo=3 Stepping=14 SystemCreationClassName=Win32_ComputerSystem SystemName=040644303253 UniqueId= UpgradeMethod=6 Version=Model 13, Stepping 14 VoltageCaps=

Read MIDR

Not available in userspace in WoA

https://developer.arm.com/documentation/ddi0595/2021-06/AArch64-Registers/MIDR-EL1--Main-ID-Register

Get processor type per core

GetSystemInformation reports information on the currently used core only, so not system wide and no direct connection with system logical information reported processors.

big - little topology per core: uarch in cpuinfo

EfficiencyClass can mean bigger numbers are big cores while the rest are little cores currently. In the future it can be changed.

PROCESSOR_RELATIONSHIP (winnt.h) - Win32 apps | Microsoft Docs

Get Cache Partitions and Set

Cpuinfo would need cache partitions and sets, while these are not reported by https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-cache_relationship

https://github.com/pytorch/cpuinfo/blob/master/include/cpuinfo.h#L101

Related content

Pre-release Python binary wheels and dependencies
Pre-release Python binary wheels and dependencies
Read with this
Windows Perf (WPERF)
Windows Perf (WPERF)
More like this
Packages
Read with this
Identify CPU architecture
Identify CPU architecture
More like this
Arm Statistical Profiling Extensions (SPE)
Arm Statistical Profiling Extensions (SPE)
More like this
PyTorch on Windows on Arm64
PyTorch on Windows on Arm64
More like this