python cpu特性检测
cpufeature的Python项目详细描述
cpufeature
==
替换高性能python模块的“cpuinfo.py”原型。
检测CPU功能,例如:
*SIMD指令支持
*内核数(虚拟和物理)
*缓存大小
它很快,导入+执行时间~1 ms
它支持带有msvc的windows和带有gcc/llvm
编译器的linux。MacOSX还应与GCC/LLVM一起使用,但尚未经过测试。
因此,它可以作为子模块自由地合并到您自己的项目中。
它需要在各种机器上进行测试。
对于我的Intel i7-7820x Skylake CPU,它生成以下信息:
>;python-c“import cpufeature;cpufeature.print_features()”
==CPU features====
vendorid:genuineIntel
num_virtual_cores:16
num_physical_cores:8
num_threads_per_core:2
缓存线大小:64
缓存线大小:32768
缓存线大小:1048576
缓存线大小:11534336
操作系统x64:true
操作系统avx:true
操作系统avx512:false
mmx:真
x64:true
abm:true
rdrand:true
bmi1:true
bmi2:true
adx:true
prefetchwt1:false
mpx:真
sse:true
sse2:true
sse3:true
ssse3:true
sse4.1:true
sse4.2:true
sse4.a:false
aes:真
sha:false
avx:true
xop:false
fma3:true
fma4:false
avx2:true
avx512f:true
avx512pf:假
avx512er:false
avx512cd:true
avx512vl:true
avx512bw:true
avx512dq:true
avx512ifma:false
avx512vbmi:false
字段
----
*如果“每个内核的线程数”1“可能存在英特尔超线程(或等效的
体系结构)。在
虚拟环境中,物理核心计数可能不可靠。
*缓存大小以字节为单位。
*对于avx2,请选中“avx2”和“os-avx2”。
*对于avx512,请选中“avx512f”和“os-avx512”。python对avx512
指令的支持在使用icc编译之外受到很大限制。MSVC在MSVC2017之前不支持AVX512。
以及缓存大小。
==
替换高性能python模块的“cpuinfo.py”原型。
检测CPU功能,例如:
*SIMD指令支持
*内核数(虚拟和物理)
*缓存大小
它很快,导入+执行时间~1 ms
它支持带有msvc的windows和带有gcc/llvm
编译器的linux。MacOSX还应与GCC/LLVM一起使用,但尚未经过测试。
因此,它可以作为子模块自由地合并到您自己的项目中。
它需要在各种机器上进行测试。
对于我的Intel i7-7820x Skylake CPU,它生成以下信息:
>;python-c“import cpufeature;cpufeature.print_features()”
==CPU features====
vendorid:genuineIntel
num_virtual_cores:16
num_physical_cores:8
num_threads_per_core:2
缓存线大小:64
缓存线大小:32768
缓存线大小:1048576
缓存线大小:11534336
操作系统x64:true
操作系统avx:true
操作系统avx512:false
mmx:真
x64:true
abm:true
rdrand:true
bmi1:true
bmi2:true
adx:true
prefetchwt1:false
mpx:真
sse:true
sse2:true
sse3:true
ssse3:true
sse4.1:true
sse4.2:true
sse4.a:false
aes:真
sha:false
avx:true
xop:false
fma3:true
fma4:false
avx2:true
avx512f:true
avx512pf:假
avx512er:false
avx512cd:true
avx512vl:true
avx512bw:true
avx512dq:true
avx512ifma:false
avx512vbmi:false
字段
----
*如果“每个内核的线程数”1“可能存在英特尔超线程(或等效的
体系结构)。在
虚拟环境中,物理核心计数可能不可靠。
*缓存大小以字节为单位。
*对于avx2,请选中“avx2”和“os-avx2”。
*对于avx512,请选中“avx512f”和“os-avx512”。python对avx512
指令的支持在使用icc编译之外受到很大限制。MSVC在MSVC2017之前不支持AVX512。
以及缓存大小。