检查 AVX 指令集支持
本文关键字:支持 指令集 AVX 检查 | 更新日期: 2023-09-27 18:32:27
在C#中,如何检查当前的CPU和操作系统是否支持AVX指令集?
我需要选择要加载的本机 DLL,SSE2 或 AVX。
最好的方法是调用 GetEnabledXStateFeatures(),它确保处理器和操作系统都支持 AVX:
public static bool HasAvxSupport() {
try {
return (GetEnabledXStateFeatures() & 4) != 0;
}
catch {
return false;
}
}
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
private static extern long GetEnabledXStateFeatures();
顺便说一句,没有像样的方法来区分AVX和AVX2,幸运的是你没有要求这样做。