如何判断一台Linux机器是否支持AVX/AVX2指令?

lnlaulya  于 2022-10-17  发布在  Linux
关注(0)|答案(5)|浏览(995)

我使用的是SuSE Linux Enterprise 10/11计算机。我开始回归运行英特尔处理器的机器群。我的一些测试失败了,因为我的工具是使用需要AVX/AVX2指令支持的库构建的。我收到一个Illegal exception错误。
在Linux中,有什么命令可以用来确定CPU代码/系列名称吗?
我相信,AVX和AVX2将分别从英特尔桑德布里奇和哈斯韦尔家族推出。

lskq00tm

lskq00tm1#

您还可以运行lscpu并检查末尾的指令列表。

qyyhg6bp

qyyhg6bp2#

您可以通过检查/proc/cpuinfo来测试SIMD指令集和其他CPU功能的可用性。

$ grep avx2 /proc/cpuinfo
flags       : fpu vme ... sse4_1 sse4_2 ... bmi1 avx2 ... bmi2 ...
pes8fvy9

pes8fvy93#

我喜欢使用这个命令:lscpu
然后具体为:lscPU|grep avx

xzlaal3s

xzlaal3s4#

运行以下命令:

grep avx /proc/cpuinfo

grep avx2 /proc/cpuinfo

这将为您提供:
标志:fPU VME de PSE TSC MSR PAE mce cx8 APIC Sep Mtrr PGE MCA cmov pat pse36 clflush MMX fxsr sse se2 ss syscall NX pdpe1 gb rdtscp lm Constant_TSC Arch_PerfMon rep_Good nopl agerfPPPNI pclmulqq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic opcent tsc_deadline_Timer aes xsave AVX avx2 Hypervisor lahf_lm arat tsc_xsaveopt

r9f1avp5

r9f1avp55#

在Linux(或Unix计算机)上,有关您的CPU的信息在/proc/cpuinfo中。您可以手动或使用grep命令(grep flags /proc/cpuinfo)从其中提取信息。
此外,大多数编译器都会自动定义__AVX2__,因此您也可以检查这一点。

相关问题