マイクロソフトが提供しているフリーソフトで確認できます。次のプログラム Coreinfo v3.53
をダウンロード、展開して、Coreinfo.exe
をコマンドプロンプトで実行しましょう。
実行例 (一部略)。 *
はサポートしている、 -
は未サポート。
Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz Intel64 Family 6 Model 126 Stepping 5, GenuineIntel Microcode signature: 000000A8 HTT * Hyperthreading enabled CET - Supports Control Flow Enforcement Technology Kernel CET - Kernel-mode CET Enabled User CET - User-mode CET Allowed HYPERVISOR * Hypervisor is present VMX - Supports Intel hardware-assisted virtualization SVM - Supports AMD hardware-assisted virtualization X64 * Supports 64-bit mode SSE * Supports Streaming SIMD Extensions SSE2 * Supports Streaming SIMD Extensions 2 SSE3 * Supports Streaming SIMD Extensions 3 SSSE3 * Supports Supplemental SIMD Extensions 3 SSE4a - Supports Streaming SIMDR Extensions 4a SSE4.1 * Supports Streaming SIMD Extensions 4.1 SSE4.2 * Supports Streaming SIMD Extensions 4.2 AES * Supports AES extensions AVX * Supports AVX instruction extensions AVX2 * Supports AVX2 instruction extensions AVX-512-F * Supports AVX-512 Foundation instructions AVX-512-DQ * Supports AVX-512 double and quadword instructions AVX-512-IFAMA * Supports AVX-512 integer Fused multiply-add instructions AVX-512-PF - Supports AVX-512 prefetch instructions AVX-512-ER - Supports AVX-512 exponential and reciprocal instructions AVX-512-CD * Supports AVX-512 conflict detection instructions AVX-512-BW * Supports AVX-512 byte and word instructions AVX-512-VL * Supports AVX-512 vector length instructions
筆者が作ったプログラムをあえて使いたい人は cpuid.exe または cpuid.zip をダウンロードして実行してください。ブラウザやアンチウイルスソフトの警告が出る場合は自己責任で解除してダウンロードや実行をしてください。ソースコードは プロジェクト ごと公開しています。
supported
は対応している、not supported
は未対応の意味です。以下の例だとAVXとAVX2には対応していて、AVX512には未対応ということです。
AVX supported AVX2 supported AVX512CD not supported
C++から判定したい人、Visual StudioでC++のコードをコンパイルできる人は、Microsoftの解説を参考に自分でコンパイルすることをおすすめします。
cpuid
x86およびx64で使用可能な命令(訳注: 拡張命令含む)を生成します。この命令は、サポートされている機能とCPUタイプに関する情報をプロセッサに問い合わせます。
docs.microsoft.com
実行例 Surface Book 2
GenuineIntel Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz 3DNOW not supported 3DNOWEXT not supported ABM not supported ADX supported AES supported AVX supported AVX2 supported AVX512CD not supported AVX512ER not supported AVX512F not supported AVX512PF not supported BMI1 supported BMI2 supported CLFSH supported CMPXCHG16B supported CX8 supported ERMS supported F16C supported FMA supported FSGSBASE supported FXSR supported HLE supported INVPCID supported LAHF supported LZCNT supported MMX supported MMXEXT not supported MONITOR not supported MOVBE supported MSR supported OSXSAVE supported PCLMULQDQ supported POPCNT supported PREFETCHWT1 not supported RDRAND supported RDSEED supported RDTSCP supported RTM supported SEP supported SHA not supported SSE supported SSE2 supported SSE3 supported SSE4.1 supported SSE4.2 supported SSE4a not supported SSSE3 supported SYSCALL supported TBM not supported XOP not supported XSAVE supported
実行例2 一部抜粋
GenuineIntel Intel(R) Core(TM) i9-9960X CPU @ 3.10GHz AVX2 supported *AVX512CD supported* AVX512ER not supported *AVX512F supported* AVX512PF not supported
実行例3 一部抜粋
GenuineIntel Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz AVX2 supported AVX512CD not supported AVX512ER not supported AVX512F not supported AVX512PF not supported
実行例4 一部抜粋
AuthenticAMD AMD Ryzen 9 3950X 16-Core Processor AVX2 supported AVX512CD not supported AVX512ER not supported AVX512F not supported AVX512PF not supported
実行例5 一部抜粋 Surface Book 3
GenuineIntel Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz AVX512CD supported AVX512ER not supported AVX512F supported AVX512PF not supported