私のCPUがx86-64-v2をサポートしていることをどうやって確認しますか?

私のCPUがx86-64-v2をサポートしていることをどうやって確認しますか?

AMD、Intel、Red Hat、SUSEは以下を定義します。x86-64 CPUの「アーキテクチャレベル」。たとえば、x86-64-v2これはCPUがデフォルトのx86-64命令セットをサポートするだけでなく、SSE4.2、SSSE3、またはPOPCNTなどの他の命令もサポートすることを意味します。

私のCPUがどのアーキテクチャレベルをサポートしているかをどうやって確認しますか?

ベストアンサー1

これは以下に基づいています。ジオレの答え;フルスクリプトはAWKで書くこともできます。

#!/usr/bin/awk -f

BEGIN {
    while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1
    if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1
    if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2
    if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3
    if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4
    if (level > 0) { print "CPU supports x86-64-v" level; exit level + 1 }
    exit 1
}

また、ベースライン(ここでは「レベル1」)を確認し、サポートされている最高レベルのみを出力し、サポートされていない最初のレベルと一致する終了コードで終了します。

おすすめ記事